git - 无法读取 'https://github.com' : No such device or address 的用户名

标签 git github docker

我正在使用 git 通过以下命令构建一个 docker 图像:sudo docker build github.com/roseperrone/myproject,但是我收到此错误:

无法读取“https://github.com”的用户名:没有这样的设备或地址

我应该如何提供我的 git 凭据?

我在 AWS ec2 实例中运行。

最佳答案

要理解此错误,请记忆一下从 Github check out 代码的两种方法:使用用户名/密码和使用 SSH key 进行身份验证。

在 Github UI 中,“克隆或下载”按钮提供了两个选项:使用 SSH 克隆使用 HTTPS。 (如果您已将 SSH key 添加到您的 Github 帐户,您可能只会获得这两个选项,我不知道)。使用 https-URL checkout 代码需要输入您的用户名和密码以进行身份​​验证。 SSH 选项创建一个 git@github - URL 并且 check out 不要求用户名和密码。

我建议您不要在 EC2 机器或 Docker 配置中保存您的 Github 帐户密码。我也不建议您将个人 id_rsa 文件复制到 EC2 实例上。相反,create a dedicated SSH key为此目的在 Github 上。给它一个合适的标签,然后决定是允许推送代码还是只允许 pull 。这意味着如果 key 丢失或您停止使用此设置,您可以稍后轻松撤销访问权限。

关于如何在 Docker 设置中使用生成的 SSH key 的更多信息可以在这个问题中找到: Using SSH keys inside docker container

希望这有帮助:)

关于git - 无法读取 'https://github.com' : No such device or address 的用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18649403/

相关文章:

Git merge 后压缩提交

Git: merge pull 请求时如何对多个提交进行一次提交?

rest - 如何通过构建函数将GitHub的URL传递给Docker的REST API远程参数

git - 安装了两个版本的git,目前使用旧版本,如何切换?

git - VSTS - 连接到 Azure Active Directory 后无法进行 git push

Git 不允许我 rebase (未跟踪的文件将被覆盖)。我应该怎么办?

Docker swarm 无法从 Dockerfile 正确构建

javascript - gulp gh-pages 不工作

ruby-on-rails - 如果测试工作流程通过,则运行部署工作流程

docker - Flannels 在 Kubernetes 多节点示例中不起作用