Docker容器部署GitLab陷入错误循环问题求助
GitLab Docker部署陷入错误循环求助
操作步骤
执行以下Docker命令启动GitLab EE容器:
sudo docker run --detach \ --hostname gitlab.MY-URL.net \ --publish 28043:443 --publish 28080:80 --publish 28022:22 \ --name gitlab \ --restart always \ --volume $GITLAB_HOME/config:/etc/gitlab \ --volume $GITLAB_HOME/logs:/var/log/gitlab \ --volume $GITLAB_HOME/data:/var/opt/gitlab \ --shm-size 256m \ gitlab/gitlab-ee:latest
用以下命令查看日志:
sudo docker logs -f gitlab | tee gitlab.log
初始启动流程正常,但后续出现错误并进入循环,服务持续失败重试。
错误日志详情
非重复错误
DSN未配置
==> /var/log/gitlab/gitlab-rails/production.log <== Raven 3.1.2 configured not to capture errors: DSN not set ... # 共重复5次
推测与邮件推送相关,暂不影响核心服务。
GitLab Socket连接失败
==> /var/log/gitlab/gitlab-workhorse/current <== {"correlation_id":"","duration_ms":0,"error":"badgateway: failed to receive response: dial unix /var/opt/gitlab/gitlab-rails/sockets/gitlab.socket: connect: no such file or directory","level":"error","method":"GET","msg":"","time":"2023-08-22T13:54:01Z","uri":""}
该错误连续出现2次,进入容器执行ls确认文件存在,但为套接字文件,疑惑为何启动进程无法正常连接。
Gitaly服务重启
==> /var/log/gitlab/gitaly/current <== {"level":"info","msg":"Upgrade succeeded","time":"2023-08-22T13:54:23.196Z"} {"error":"graceful upgrade: completed","level":"error","msg":"Gitaly shutdown","time":"2023-08-22T13:54:23.213Z"}
Postgres Exporter配置缺失
2023-08-22_13:54:30.75614 ts=2023-08-22T13:54:30.756Z caller=main.go:86 level=warn msg="Error loading config" err="Error opening config file \"postgres_exporter.yml\": open postgres_exporter.yml: no such file or directory"
配置路径为相对路径,无法确认文件是否存在于容器内。
Kubernetes服务发现错误
2023-08-22_13:54:28.58747 ts=2023-08-22T13:54:28.587Z caller=manager.go:317 level=error component="discovery manager scrape" msg="Cannot create service discovery" err="unable to load specified CA cert /var/run/secrets/kubernetes.io/serviceaccount/ca.crt: open /var/run/secrets/kubernetes.io/serviceaccount/ca.crt: no such file or directory" type=kubernetes config=kubernetes-nodes
未使用Kubernetes环境,但该错误会以不同type参数重复出现。
重复循环错误
Collector复制模块失败
2023-08-22_13:53:48.88658 ts=2023-08-22T13:53:48.886Z caller=collector.go:190 level=error msg="collector failed" name=replication duration_seconds=0.228480569 err="sql: Scan error on column index 0, name \"pg_postmaster_start_time\": converting driver.Value type time.Time (\"2023-08-22 13:50:44.701812 +0000 GMT\") to a float64: invalid syntax"
推测是类型转换错误,尝试将时间类型转为float64失败。
补充环境信息
- 环境变量
GITLAB_HOME设置为/srv/gitlab MY-URL.net和gitlab.MY-URL.net已解析至私有服务器,通过Cloudflare代理,DNS记录配置完成- 端口映射说明:服务器同时运行网站和cloudflared服务,通过端口映射避免冲突,计划通过
gitlab.MY-URL.net:28080访问GitLab - 每次重试前已删除容器及
/srv/gitlab目录 - 未部署本地邮件服务器,计划使用第三方邮箱服务
已尝试的解决动作
- 简化端口映射配置,关闭Apache和cloudflared服务(仅保留SSH占用端口22),错误仍存在
- 访问域名时Cloudflare提示服务器无响应
- 此前直接在服务器上安装GitLab成功,但Docker部署始终失败
内容的提问来源于stack exchange,提问作者melon_maniac
相关产品推荐
相关产品推荐

