docker for gitlab
1?创建gitlab,初始化需要很,第一次登录需要设置root帐户的密码
sudo docker run –detach \
–hostname 192.168.1.11 \
–env GITLAB_OMNIBUS_CONFIG=”external_url ‘http://atomsky.zicp.io/gitlab’; gitlab_rails[‘lfs_enabled’] = true;” \
–publish 55443:443 –publish 5580:80 –publish 5522:22 \
–name gitlab \
–restart=always \
-m 5012m \
–privileged=true \
–volume /home/work/gitlab/config:/etc/gitlab \
–volume /home/work/gitlab/logs:/var/log/gitlab \
–volume /home/work/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:12.0.0-ce.0
解释:55443 https加密 |5580 web服务未加密 |5522 ssh服务
–publish 55443:443
–publish 5580:80
–publish 5522:22
2?nginx反向代理 地址:http://192.168.1.11/gitlab
nginx配置,注意事项,上边 external_url ‘http://atomsky.zicp.io/gitlab’; 一定要写反向代理地址包括匹配关键字
#gitlab
upstream git{
server 192.168.1.11:5580;
}
server{
location /gitlab/ {
#proxy_pass http://192.168.1.11:5580/;
# 这个大小的设置非常重要,如果 git 版本库里面有大文件,设置的太小,文件push 会失败,根据情. 况调整
client_max_body_size 50m;
proxy_redirect off;
#以下确保 gitlab中项目的 url 是域名而不是 http://git,不可缺少
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 反向代理到 gitlab 内置的 nginx
proxy_pass http://git;
index index.html index.htm;
}
}