Docker撰写gitlab失败了

时间:2017-12-13 09:21:25

标签: docker-compose gitlab

我尝试使用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

2 个答案:

答案 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。它工作正常