gitlab解决docker权限不足
1 查看宿主机的组
vim /etc/group
查看是否存在docker这个组,如果不存在那么执行
groupadd -g 1212 docker
,执行完成后,重启docker
systemctl restart docker
2. 查看docker.sock所属的组
ll /var/run/ | grep docker.sock
可以发现现在宿主机的docker.sock已经属于docker.
3. 进入gitla-runner容器内
docker exec -it gitlab-runner bash
可以发现容器内的docker.sock组已经发生了变换,不再是root,而是1212,那么创建在容器内创建一个组,那么也在容器内创建一个组
groupadd -g 1212 docker
并且将gitlab-runner账户加入到docker组
usermod -a -G docker gitlab-runner
99 问题描述
我在使用gitlab-runner容器部署容器的时候,发现在自动化部署时,不能使用docker命令。通过查阅相关资料,是因为gitlab-runner自动部署容器的时候,使用的是gitlab-runner账户,而这个账户并不是root角色,所以不能对docker.sock文件进行操作。虽然我们可以将宿主机的docker.sock文件变成chmod 666 docker.sock
,但是伴随而来的是,每次重启服务器,甚至重启docker都会导致docker.sock进行重新生成。