由docker运行后gitlab中的错误权限

时间:2018-01-08 13:26:03

标签: docker gitlab-ce

我已经使用此命令在Windows 10上通过docker运行gitlab:

docker run --detach --hostname gitlab.example.com  --publish 443:443 --publish 80:80 --publish 22:22  --name gitlab  --restart always  --volume D:\gitlab\config:/etc/gitlab  --volume D:\gitlab\logs:/var/log/gitlab  --volume D:\gitlab\data:/var/opt/gitlab  gitlab/gitlab-ce:latest

现在我遇到了问题。当我在浏览器中输入此地址:gitlab.example.com时,我无法看到gitlab的网络界面。我在D:\gitlab\logs\sshd\current中看到了gitlab的日志。下面是它在docker中不断插入的一些内容是在容器中运行gitlab image:

2018-01-08_13:01:02.92007 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
2018-01-08_13:01:02.92010 @         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
2018-01-08_13:01:02.92010 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
2018-01-08_13:01:02.92010 Permissions 0755 for '/etc/gitlab/ssh_host_rsa_key' are too open.
2018-01-08_13:01:02.92010 It is required that your private key files are NOT accessible by others.
2018-01-08_13:01:02.92011 This private key will be ignored.
2018-01-08_13:01:02.92023 key_load_private: bad permissions
2018-01-08_13:01:02.92198 Could not load host key: /etc/gitlab/ssh_host_rsa_key
2018-01-08_13:01:02.92242 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
2018-01-08_13:01:02.92243 @         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
2018-01-08_13:01:02.92244 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
2018-01-08_13:01:02.92244 Permissions 0755 for '/etc/gitlab/ssh_host_ecdsa_key' are too open.
2018-01-08_13:01:02.92245 It is required that your private key files are NOT accessible by others.
2018-01-08_13:01:02.92246 This private key will be ignored.
2018-01-08_13:01:02.92254 key_load_private: bad permissions
2018-01-08_13:01:02.92377 Could not load host key: /etc/gitlab/ssh_host_ecdsa_key
2018-01-08_13:01:02.92420 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
2018-01-08_13:01:02.92422 @         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
2018-01-08_13:01:02.92423 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
2018-01-08_13:01:02.92424 Permissions 0755 for '/etc/gitlab/ssh_host_ed25519_key' are too open.
2018-01-08_13:01:02.92424 It is required that your private key files are NOT accessible by others.
2018-01-08_13:01:02.92425 This private key will be ignored.
2018-01-08_13:01:02.92434 key_load_private: bad permissions
2018-01-08_13:01:02.92548 Could not load host key: /etc/gitlab/ssh_host_ed25519_key
2018-01-08_13:01:02.92553 Server listening on 0.0.0.0 port 22.
2018-01-08_13:01:02.92555 Server listening on :: port 22.
2018-01-08_13:02:11.29316 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
2018-01-08_13:02:11.29339 @         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
2018-01-08_13:02:11.29353 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
2018-01-08_13:02:11.29371 Permissions 0755 for '/etc/gitlab/ssh_host_rsa_key' are too open.
2018-01-08_13:02:11.29394 It is required that your private key files are NOT accessible by others.
2018-01-08_13:02:11.29411 This private key will be ignored.
2018-01-08_13:02:11.29429 key_load_private: bad permissions
2018-01-08_13:02:11.29447 Could not load host key: /etc/gitlab/ssh_host_rsa_key
2018-01-08_13:02:11.29501 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
2018-01-08_13:02:11.29510 @         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
2018-01-08_13:02:11.29527 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
2018-01-08_13:02:11.29545 Permissions 0755 for '/etc/gitlab/ssh_host_ecdsa_key' are too open.
2018-01-08_13:02:11.29555 It is required that your private key files are NOT accessible by others.
2018-01-08_13:02:11.29569 This private key will be ignored.
2018-01-08_13:02:11.29588 key_load_private: bad permissions
2018-01-08_13:02:11.29674 Could not load host key: /etc/gitlab/ssh_host_ecdsa_key

我的gitlab有什么问题以及我如何拥有gitlab的网络界面?

1 个答案:

答案 0 :(得分:0)

这是因为您在使用主机挂载时安装了这些密钥:

--volume D:\gitlab\config:/etc/gitlab

我假设当Docker将这些权限粘贴到VM上时,权限未被转移,或者根本不存在于您的Windows框中。

您可以尝试将文件所有者设为只读(400)并且它可能有效 - 我没有要测试的Windows框。

如果不这样做,您需要编写一个入口点脚本并与--entrypoint=/usr/local/entrypoint一起使用,并将以下脚本安装到该位置:

#!/usr/bin/env sh
chmod 400 /etc/gitlab/ssh_host_{rsa,ecdsa,ed25519}_key
/assets/wrapper