我很久以前就遇到过这个问题而根本无法解决这个问题。谁能给我一些帮助?
我创建了一个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内部访问,有些则没有。任何建议表示赞赏
答案 0 :(得分:0)
我认为既然您正在使用ssh url进行git clone,那么您将生成一个ssh密钥并在git门户上注册相同的内容。
然后你必须在docker容器中包含ssh密钥并执行go install
希望这能解决您的问题
答案 1 :(得分:0)
首先,确保在启动容器时映射了相关端口,通常是ssh使用端口22
或443
,因此您只需映射它们。
docker run -it -p 22:22 -p 443:443 IMAGE_ID
其次,在docker中,你应该生成一个ssh密钥对并注册你正在使用的git门户。您只需使用命令ssh-keygen
生成新密钥对。