ssh:无法解析主机名(Docker、gitlab-ce)

Posted

技术标签:

【中文标题】ssh:无法解析主机名(Docker、gitlab-ce)【英文标题】:ssh: Could not resolve hostname (Docker, gitlab-ce) 【发布时间】:2016-12-30 09:41:57 【问题描述】:

我已经设置了 docker 工具箱并安装了 gitlab-ce 来测试 gitlab 持续集成功能,我能够连接到 gitlab 实例并创建一个存储库,创建一个新的 ssh 密钥并将其粘贴到存储库上。 但问题是当我试图推送到这个存储库时,它给了我这个错误:

ssh: 无法解析主机名 c52795c5acda: 名称或服务没有 已知 致命:无法从远程存储库中读取。 请确保您拥有正确的访问权限 并且存储库存在

git url 如下:

git@c52795c5acda:root/my-project.git

我将 c52795c5acda 替换为容器 ip 地址和端口,似乎可以使用 HTTPS,但不能使用 ssh。 我的系统是 Windows 8.1,我在虚拟机上运行 docker。谁能指出问题?

【问题讨论】:

你到底是如何启动图像的?你能显示你的docker run 命令或docker-compose.yml 文件吗? @Matthew 感谢您的回复。我对码头工人完全陌生。我正在运行 Kitematic 的 gitlab-ce。我没有使用任何命令来启动它。 我对kitematic了解不多,但你需要找到端口并从那里开始。也许开始here。 【参考方案1】:

名称c52795c5acd 是 docker 为您的容器提供的随机主机名。它可能会发生变化,IP 地址也是如此。

最简单的解决方案是使用 -p 选项将 docker 主机的端口映射到 docker 容器。然后你可以在你的 git url 中使用你的 docker 主机名。

您还需要为 gitlab 配置外部 URL,请参见此处:http://docs.gitlab.com/omnibus/settings/configuration.html

【讨论】:

以上是关于ssh:无法解析主机名(Docker、gitlab-ce)的主要内容,如果未能解决你的问题,请参考以下文章

ssh:无法解析主机名 gitlab.com:user_name/repo_name.git:名称或服务未知

Gitlab runner docker无法解析主机

在 gitlab ci 中使用 ssh docker-compose 到远程主机失败

gitlab 在 docker 容器中运行

docker常见问题

为Docker容器中运行的gitlab添加ssh的一些问题记录