git clone无法到达docker容器内的主机

时间:2016-03-19 04:58:11

标签: git ssh docker git-clone

我很久以前就遇到过这个问题而根本无法解决这个问题。谁能给我一些帮助?

我创建了一个docker容器,然后在docker中,我想克隆一个内部git存储库:

git clone git@git.xxx.net:ngcsc/ngcsc.git

我收到了这个错误:

ssh: connect to host git.xxx.net port 22: No route to host
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

如果我使用curl https://git.xxx.net, 我也遇到了错误:

curl: (7) Failed connect to git.xxx.net:443; No route to host

我可以卷曲其他https网站,例如curl https://www.google.com

我不知道为什么有些内部网站可以在docker内部访问,有些则没有。任何建议表示赞赏

2 个答案:

答案 0 :(得分:0)

我认为既然您正在使用ssh url进行git clone,那么您将生成一个ssh密钥并在git门户上注册相同的内容。

GitHub ssh registration

然后你必须在docker容器中包含ssh密钥并执行go install

希望这能解决您的问题

答案 1 :(得分:0)

首先,确保在启动容器时映射了相关端口,通常是ssh使用端口22443,因此您只需映射它们。

docker run -it -p 22:22 -p 443:443 IMAGE_ID

其次,在docker中,你应该生成一个ssh密钥对并注册你正在使用的git门户。您只需使用命令ssh-keygen生成新密钥对。