1.启动命令(启动初始化需5分钟以上)
docker run -d –hostname 10.0.1.126 –name gitlab –restart always -p 9980:80 -p 443:443 -p 2222:22 -v /opt/gitlab/config:/etc/gitlab -v /opt/gitlab/logs:/var/log/gitlab -v /opt/gitlab/data:/var/opt/gitlab –shm-size 256m gitlab/gitlab-ce:latest
2.修改容器内/etc/gitlab/gitlab.rb 中 external_url克隆地址("external_url 'http://10.0.1.126:9980'\\") 这块就是需要修改的 按照实际修改
以下一条命令完成
docker exec -it gitlab bash -c "echo \\"external_url 'http://10.0.1.126:9980'\\" > /tmp/new_config && cat /etc/gitlab/gitlab.rb | grep -v '^external_url' > /tmp/old_config && cat /tmp/new_config /tmp/old_config > /etc/gitlab/gitlab.rb"
重新配置
docker exec gitlab gitlab-ctl reconfigure
重启服务(等待几分钟访问)
docker exec gitlab gitlab-ctl restart
3.如上述修改完未访问到页面 那就是nginx访问不到容器80端口以下解决:
1.再次重新配置
. 恢复默认配置
docker exec gitlab bash -c "echo \\"external_url 'http://10.0.1.126:9980'\\" > /etc/gitlab/gitlab.rb"
# 2. 重新配置(关键!)
docker exec gitlab gitlab-ctl reconfigure
# 3. 重启服务
docker exec gitlab gitlab-ctl restart
2.修改nginx配置
# 1. 备份配置
docker exec gitlab cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.backup
# 2. 重写配置
docker exec gitlab bash -c "cat > /etc/gitlab/gitlab.rb << 'EOF'
external_url 'http://10.0.1.126:9980'
nginx['listen_port'] = 80
nginx['listen_addresses'] = ['0.0.0.0']
EOF"
# 3. 重新配置(等待 5-10 分钟)
docker exec gitlab gitlab-ctl reconfigure
# 4. 重启服务
docker exec gitlab gitlab-ctl restart
# 5. 验证
sleep 30
docker exec gitlab netstat -tln | grep :80
curl -I http://localhost:9980
3.这样就成功了:



