使用Docker创建gitlab时的权限问题

本文分享了在Linux环境下运行GitLab容器时遇到的权限错误,并详细记录了解决过程。通过添加--privileged=true参数,成功解决了文件创建权限不足的问题,实现了GitLab容器的正常启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文章目录


使用下面的脚本来创建一个gitlab容器实例

#!/bin/bash
HOST_NAME=gitlab.zln.com

# 填写宿主机挂载目录
GITLAB_DIR=/home/sherry/volumns/gitlab
docker stop gitlab
docker rm gitlab
docker run -d --hostname ${HOST_NAME} -p 8443:443 -p 8080:80 \
-p 2222:22 --name gitlab \
-v ${GITLAB_DIR}/config:/etc/gitlab -v \
${GITLAB_DIR}/logs:/var/log/gitlab -v \
${GITLAB_DIR}/data:/var/opt/gitlab \
registry.cn-hangzhou.aliyuncs.com/sherry/gitlab-ce:latest

在mac上执行是没有问题的,在linux下执行,就会报错

...

If this container fails to start due to permission problems try to fix it by executing:

  docker exec -it gitlab update-permissions
  docker restart gitlab

Installing gitlab.rb config...
cp: cannot create regular file '/etc/gitlab/gitlab.rb': Permission denied

..

看到这个错误信息,我一开始还以为是执行脚本的权限不够大,就使用root权限进行执行,结果还是一样的报错

后来添加了一个启动参数--privileged=true

现在的启动脚本变成了

#!/bin/bash
HOST_NAME=gitlab.zln.com

# 填写宿主机挂载目录
GITLAB_DIR=/home/sherry/volumns/gitlab
docker stop gitlab
docker rm gitlab
docker run -d --hostname ${HOST_NAME} -p 8443:443 -p 8080:80 \
-p 2222:22 --name gitlab \
--privileged=true \
-v ${GITLAB_DIR}/config:/etc/gitlab -v \
${GITLAB_DIR}/logs:/var/log/gitlab -v \
${GITLAB_DIR}/data:/var/opt/gitlab \
registry.cn-hangzhou.aliyuncs.com/sherry/gitlab-ce:latest

image

访问8080端口,出现下面的界面

安装成功

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值