Ubuntu 安装 Docker GitLab 屡屡失败。

2020-04-11 11:22:26 +08:00
 jmyz0455

3 年前我用 CentOS6 安装了 Docker GitLab,配合 yum 安装的 Nginx 做了 https 站点,当时觉得蛮简单的,也记录下当时的命令:

sudo docker run --detach \
    --hostname 公网 IP \
    --publish 443:8443 --publish 80:8080 --publish 22:8022 \
    --name gitlab \
    --restart always \
    --volume /srv/gitlab/config:/etc/gitlab \
    --volume /srv/gitlab/logs:/var/log/gitlab \
    --volume /srv/gitlab/data:/var/opt/gitlab \
    gitlab/gitlab-ce:latest

后来我也如法炮制,给公司和客户在 CentOS7 上搭建了 https 域名 Docker GitLab 。但是最近我的个人服务器换成了 Ubuntu19.10 ,怎么搭建都不成功。耐心尝试过几个教程,完全跟着步骤来,得到的结果都是一样,就是 docker run 之后会一直处于 staring 的状态,docker container logs -f gitlab 总是在

* execute[/opt/gitlab/bin/gitlab-ctl start grafana] action run
    [execute] ok: run: grafana: (pid 1568) 7s
    - execute /opt/gitlab/bin/gitlab-ctl start grafana
Recipe: gitlab::gitlab-rails
  * execute[clear the gitlab-rails cache] action run%

处卡住然后 Exited 。经过多番搜索,尝试修改 /etc/gitlab/gitlab.rb 以下内容:

nginx['ssl_certificate'] = "/etc/gitlab/dingchil.com.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/dingchil.com.key"
external_url "https://gl.dingchil.com"
nginx['enable'] = false
web_server['external_users'] = ['root']
gitlab_workhorse['listen_network'] = "tcp"

我还想过是不是 Docker Nginx 、端口、权限、防火墙的问题,最后我想到什么都不弄,就一句 sudo docker run -d -p 443:8443 -p 80:8080 -p 22:8022 --name gitlab gitlab/gitlab-ce:latest 结果是 logs 跑完之后,显示的是 unhealthy 。直接访问域名:端口也不行,显示 502 。后来特意搜索 grafana,虽然没有找到有用的结果但是给 /etc/gitlab/gitlab.rb 加了一句 grafana['enable'] = false 就会输出大量的:

{"error":"listen tcp: address /var/opt/gitlab/gitlab-workhorse/socket: missing port in address","level":"fatal","msg":"Failed to listen","time":"2020-04-10T16:46:49Z"}
{"error":"rpc error: code = DeadlineExceeded desc = context deadline exceeded","level":"warning","msg":"gitaly-ruby worker health check failed","time":"2020-04-10T16:46:30.792Z","worker.name":"gitaly-ruby.1"}

有点摸不着头脑了,有没有刚搭建过的 v 友讲一下?另外我还有个小问题,希望有人解惑:v2ex.com/t/660862

3476 次点击
所在节点    Linux
12 条回复
kebyn
2020-04-11 12:02:24 +08:00
我猜是 selinux 的问题
defunct9
2020-04-11 16:53:09 +08:00
开 ssh,让我上去看看撒
jmyz0455
2020-04-12 21:51:48 +08:00
@defunct9 谢谢,请问怎么联系您?这是我的邮箱:jmyz_0455@163.com 。不知道微信上的 “八戒” 是不是你本人?
jmyz0455
2020-04-13 11:25:18 +08:00
@kebyn 查了一下,我的机器没有 getenforce 和 /usr/sbin/sestatus -v 命令,也找不到 /etc/selinux/config 目录,应该没有开 selinux 。
defunct9
2020-04-14 05:25:02 +08:00
@jmyz0455 貌似微信那个就是本人
jmyz0455
2020-04-14 21:09:05 +08:00
@defunct9 加你微信了,通过下,谢谢。
liuxu
2020-04-14 23:50:56 +08:00
selinux 默认在 centos7 开启,centos6.x,ubuntu/debian 目前所有版本都没有开启

missing port in address,监听没有指定端口号?得看看他们官方文档


建议:我私人 git 服务器用的 gitea(docker 版本),用 rclone 每天备份到我的 google 网盘,很香
defunct9
2020-04-15 11:21:50 +08:00
结案,虚机资源不够,gitlab 启动了就被 OOM 了,大家猜到原因了么?
kugouo4
2020-04-16 11:53:24 +08:00
@defunct9 没想到。虚拟内存是有多紧缺,我 2G 的虚拟机都能成功
jmyz0455
2020-04-16 18:45:21 +08:00
@kugouo4 1G 内存 😥
jmyz0455
2020-04-16 18:52:48 +08:00
@kugouo4 你没跑其他服务吗,我 2G 还是不够,开了 swap 分区才行。
jmyz0455
2021-05-19 11:56:57 +08:00
@Livid 发觉泄漏了个人信息,望删除此贴。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/661396

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX