我已成功运行gitlab docker image
,但无法使用git
客户端访问它。
(1)我发现有3个IP
地址:
a)主持人IP:10.137.20.113
;
b)连接gitlab运行容器,显示其IP:172.17.0.13
;
c)登录网页,显示项目地址:ssh: git@192.168.59.103:root/test.git
。
为什么有IP地址(192.168.59.103
)?
(2)我在root
中添加了SSH
用户gitlab
密钥,但无法使用ssh -p 2222 10.137.20.113
命令访问服务器。
如何使用git客户端访问gitlab
?
答案 0 :(得分:1)
192.168.59.103是boot2docker ip的典型代表,它是VirtualBox机器的IP,它承载运行容器的Tiny核心Linux(带有172.17.0.13的那些)
如果要从客户端访问任何端口,您需要确保:
docker run -p 2222:22 -p 80:80 -p 443:443 ...
boot2docker-vm
”中重定向:那将是例如:
boot2docker stop
VBoxManage.exe controlvm "boot2docker-vm" natpf1 "udp-port80,udp,,80,,80";
VBoxManage.exe controlvm "boot2docker-vm" natpf1 "udp-port80,udp,,443,,443";
(同样适用于443,2222应该已经导出)
否则,访问192.168.59.103时,客户端(VirtualBox外部)将无法看到这些端口。
在OP情况下,不需要192.168.59.103。 RedHat服务器的IP就足够了(因为它直接托管了docker服务)。
ssh -p 2222 10.137.20.113
只适用于合适的用户(git)
ssh -p 2222 git@10.137.20.113
仅限于public ssh key has been registered on the server。
OP报告in the comments有错误:
git-upload-pack '2222:root/test.git'
我通过两个步骤解决问题:
- 在
中添加端口2222
~/.ssh/config
- 使用
醇>git clone git@10.137.20.113:root/test.git
您可以在“git clone
using ssh failed in Windows due to permission issue”中看到更完整的~/.ssh/config
示例。
经过测试,这也有效:
git clone ssh://git@10.137.20.113:2222/root/test.git
(所以使用'/
'代替':
')