天天看点

Gitlab(docker)无限重启(gitlab-ctl: command not found)

                                           Gitlab(docker)无限重启

前两天构建了一个虚拟机,想着搭建集群,没弄完,就把虚拟机停了,等我重新运行的时候,发现我的gitlab服务炸了,无限重启中。

#docker ps      
Gitlab(docker)无限重启(gitlab-ctl: command not found)

一个好习惯,查看日志

#docker logs gitlab      
Gitlab(docker)无限重启(gitlab-ctl: command not found)

从gitlab日志知道

/assets/wrapper: line 112: /opt/gitlab/embedded/bin/runsvdir-start: No such file or directory

Configuring GitLab...

/assets/wrapper: line 115: gitlab-ctl: command not found

是runsvdir-start和gitlab-ctl 启动文件找不到。

报错分析:

首先runsvdir-start和gitlab-ctl文件存在与gitlab容器里面,启动时,检查到两个文件丢失,gitlab容器便进入无限重启中。

错误处理:

对于这种,在docker机制下运行的容器,由于gitlab非正常运行,是无法进去到里面的,就算能进去也会很快被强制退出的,所以出现这种就比较复杂一点。

--去官网看了很多关于gitlab(docker)的分析--

发现Docker对于gitlab(docker)的一般删除,数据是保留,而利用这一点,我们就可以baoli一点了。

删除gitlab

#docker rm gitlab      

重新构建gitlab

docker run -d --hostname gitlab.xxx.cn \
--publish 443:443 --publish 80:80 --publish 2222:22 \
--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      

查看运行端口

Gitlab(docker)无限重启(gitlab-ctl: command not found)

查看gitlab运行状况

Gitlab(docker)无限重启(gitlab-ctl: command not found)

刷新gitlab界面

我之前创建的项目,并没有丢失,完成了

Gitlab(docker)无限重启(gitlab-ctl: command not found)