解决docker搭建gitlab时容器不停重启的问题

在我按照gitlab的官方文档搭建后,准备进入容器修改配置文件时,发现进入不了。显示错误时容器正在重启,如下所示

[root@gitlab ~]# docker exec -it gitlab /bin/bash
Error response from daemon: Container 9780aafac4ed8366f359418e562c8038017e8a9d5675f34ed3aa6da9d312826b is restarting, wait until the container is running

然后我docker log 查看日志时,发现问题是在于配置文件没有权限创建的问题

[root@gitlab ~]# docker logs gitlab
....
....
....
Installing gitlab.rb config...
cp: cannot create regular file '/etc/gitlab/gitlab.rb': Permission denied
...
...
...

而这个权限问题是因为SElinux开启的缘故,官方文档已经给出了在SELinux开启的情况下创建容器的命令了。。

在映射卷的命令后加上":Z",如--volume /srv/gitlab/config:/etc/gitlab:Z

这个含义我也不太清楚,只能大致猜测这个是让容器在SELinux的干预下能操作文件吧

总结:

搭建环境仔细查看官方文档

有问题查看日志,配合搜索引擎以及官方文档排查问题

搭建文档地址:https://docs.gitlab.com/omnibus/docker/README.html 

补充:下面介绍下gitlab-docker 一直无限重启的解决方案,新建个容器

用docker搭建gitlab,这次因为自己的服务器扩容,所以直接关机了,没有在docker中关闭gitlab,然后启动gitlab的时候,一直无限重启,如图

百度了一圈,没有什么结果,之前刚开始搭建那会儿,也一直出现这种情况,因为当时情况比较多,处理着处理着问题就解决,所以,个人怀疑容器坏了,又重新新建了一个容器,最后正常了,因为宿主机的映射关系还是原来的映射关系。最后发生这种情况的原因也不知道,新建个容器就正常了。

新建容器命令还是原来的,容器名改变下就好了

docker run -d  -p 443:443 -p 8077:80 -p 222:22 --name gitlab8077 --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
docker run -d \
--hostname gitlab \
--publish 8443:443 --publish 80:80 --publish 2222:22 \
--name gitlab2 \
--privileged=true \
--volume /home/dockerfile/gitlab/config:/etc/gitlab \
--volume /home/dockerfile/gitlab/logs:/var/log/gitlab \
--volume /home/dockerfile/gitlab/data:/var/opt/gitlab \
twang2218/gitlab-ce-zh

这时,旧的容器可以删了。

到此这篇关于docker搭建gitlab时容器不停重启的问题的文章就介绍到这了,更多相关docker搭建gitlab容器重启内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的