docker启动gitlab 由于文件夹权限问题造成失败的处理

在docker启动gitlab的时候,如果把数据文件映射到机器 在机器的文件夹或者文件权限修改时  就会无法启动.情况如下:

docker run -d -p 8090:80 --name gitlab -v /hdata/dockerdata/gitlab/etc:/etc/gitlab -v /hdata/dockerdata/gitlab/log:/var/log/gitlab -v /hdata/dockerdata/gitlab/data:/var/opt/gitlab -m 16000m --cpus=2 gitlab/gitlab-ce

这样 容器的文件都映射到了/hdata/dockerdata/gitlab目录下  这样 哪怕容器被删除 重新建立容器 只要文件夹目录对应上 所有数据则都不会丢失的.

有一次,在更改其他文件夹的权限时,不小心把这个文件下的权限也修改了 执行命令

chown -R 777 /hdata/dockerdata

然后gitlab容器就无法push  重启容器后 容器一直无法启动 开始报各种错误.

从网上找reconfig的方法也不起作用  其实 其主要原因是文件所有者问题  

现在所有的所有者基本都是777 还有少量的是root   这样  通过日志可以看到  有很多失败  没有权限问题

解决问题的办法:

1 另启用一个gitlab的容器 不过要映射不同的文件夹,目的是观察不同文件以及文件夹的所有者  很多都是998  也有996  992 的  这些都非常重要,如果所有者有误 是会造成程序无法访问的

2 打开有问题gitlab的日志观察  看哪里有问题   一般会定位到文件  然后对比所有者  如果不同 就chown 998 -R 等命令进行修改.

如果在redis文件夹下 有很多生成的文件夹下文件无法读取 可以直接删掉  在这里 肯定会报错  另外 其他的根据提示修改即可 最后有个错误是db无法打开 也是redis下的 把这些都修改后  容器就可以正常启动啦

你可能感兴趣的:(docker启动gitlab 由于文件夹权限问题造成失败的处理)