我尝试使用docker compose安装Gitlab。我设置了docker-compose。
gitlab:
image: 'gitlab/gitlab-ce:latest'
volumes:
- '/srv/docker/gitlab/data:/var/opt/gitlab'
- '/srv/docker/gitlab/config:/etc/gitlab'
- '/srv/docker/gitlab/logs:/var/log/gitlab'
ports:
- "10080:10080"
- "10443:443"
- "10022:22"
restart: always
hostname: '1.1.1.1'
dns:
- xx.xx.xx.xx
environment:
GITLAB_OMNIBUS_CONFIG: |
gitlab_rails['gravatar_enabled'] = false
gitlab_rails['time_zone'] = 'Asia/Tokyo'
当我运行docker-compose时,它失败了说
gitlab_1 | If this container fails to start due to permission problems try to fix it by executing:
gitlab_1 |
gitlab_1 | docker exec -it gitlab update-permissions
gitlab_1 | docker restart gitlab
gitlab_1 |
gitlab_1 | Installing gitlab.rb config...
gitlab_1 | cp: cannot create regular file '/etc/gitlab/gitlab.rb': Permission denied
gitlab_gitlab_1 exited with code 1
正如我写的那样试图运行
docker exec -it gitlab update-permissions
但错误说
Error response from daemon: No such container: gitlab
任何人都可以提供帮助吗?
只需信息docker ps
结果:
创建集装箱ID图像命令
xxxxxxx gitlab / gitlab-ce:latest“/ assets / wrapper”24小时前
和权限文件
ls -la /etc/gitlab/gitlab.rb
-rw -------。 1 root root 0 Dec 12 17:00 /etc/gitlab/gitlab.rb
答案 0 :(得分:0)
似乎容器没有在已装载卷下创建文件的权限:
/srv/docker/gitlab/data
/srv/docker/gitlab/config
/srv/docker/gitlab/logs
文件权限显示gitlab.rb
只能由root
读取和写入。我刚检查过它们 - 我的容器使用相同的权限。
因此,您的Docker主机可能存在问题。不知何故,它会阻止您创建/编写这些文件。也许文件系统是readonly,或者主机卷文件夹的权限不允许。 SELinux或App Armor也可能是个问题!
我建议删除卷中的所有文件,并将3个文件夹的权限设置为777
。启动后,您将看到需要哪些用户/组ID,您可以将其缩小。
你使用AppArmour,SELinux吗?你使用什么样的主机操作系统?
答案 1 :(得分:0)
最后,我尝试更改docker-compose.yml中的内容 我不知道为什么不工作的确切原因。也许gitlab_omnibus中的设置不同
对于docker compose我指的是这个 docker-compose.yml
我删除了现有的docker图像和容器,然后运行docker-compose。它工作正常