git clone无法访问docker容器中的主机
我很久以前遇到这个问题,根本解决不了。 任何人都可以给我一些帮助吗?
我创build了一个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
我可以curl其他https网站,如curl https://www.google.com
我不知道为什么一些内部网站可以在docker里面find,有些则不是。 任何build议表示赞赏
我认为,因为你使用的是git clone的ssh url,所以你必须生成一个ssh key并在git portal上注册。
GitHub ssh注册
然后,你将不得不包括docker容器内的ssh密钥,并执行ssh-add keyfile
希望这可以解决你的问题
首先,确保在启动容器时映射了相关的端口,通常ssh使用端口22
或443
,因此您可以简单地映射它们。
docker run -it -p 22:22 -p 443:443 IMAGE_ID
其次,在docker内部,你应该生成一个ssh密钥对并注册你正在使用的git门户。 您只需使用命令ssh-keygen
即可生成一个新的密钥对。
- “ELF:未find”和“语法错误:未知”(“”在Docker容器中
- 如何在“docker build”期间更新Docker镜像中的/ etc / hosts文件
- Docker和CircleCI 2.0的高uid错误问题
- Jenkins和Docker没有设备空间 – 如何正确清理
- 为正在运行的守护程序启用PAMconfiguration(limits.conf)
- Docker容器内运行的程序的二进制文件在哪里?
- 私人dockerregistry不能连接到壳牌和Webpipe理界面?
- MATLAB MCR是否包含MCC?
- 使用PHP和NGinx安装Laravel的AWS MultContainer Docker