【发布时间】:2013-09-06 03:26:42
【问题描述】:
我正在使用git 使用此命令构建docker 图像:sudo docker build github.com/roseperrone/myproject,但出现此错误:
could not read Username for 'https://github.com': No such device or address
我应该如何提供我的 git 凭据?
我在 AWS ec2 实例中运行。
【问题讨论】:
我正在使用git 使用此命令构建docker 图像:sudo docker build github.com/roseperrone/myproject,但出现此错误:
could not read Username for 'https://github.com': No such device or address
我应该如何提供我的 git 凭据?
我在 AWS ec2 实例中运行。
【问题讨论】:
要理解这个错误,记得有两种方法可以从 Github 签出代码:使用用户名/密码,以及使用 SSH 密钥进行身份验证。
在 Github UI 中,“克隆或下载”按钮提供了两个选项:使用 SSH 克隆和使用 HTTPS。 (如果您已将 SSH 密钥添加到您的 Github 帐户,您可能只会获得这两个选项,我不知道)。使用 https-URL 检出代码需要输入您的用户名和密码以进行身份验证。 SSH 选项创建一个 git@github - URL 并且签出不需要用户名和密码。
我建议您不要将您的 Github 帐户密码保存在 EC2 机器或 Docker 配置中。我也不建议您将个人 id_rsa 文件复制到 EC2 实例上。相反,create a dedicated SSH key 在 Github 上用于此目的。给它一个合适的标签,然后决定是允许推送代码还是仅仅拉取代码。这意味着如果密钥丢失或您停止使用此设置,您可以在以后轻松撤消访问权限。
关于如何在 Docker 设置中使用生成的 SSH 密钥的更多信息可以在这个问题中找到: Using SSH keys inside docker container
希望这会有所帮助:)
【讨论】:
我遇到了同样的问题,我最近加入了 github,但是这个 bug 让我非常恼火。 我已经修复成功了,
首先Generate an SSH key并进行身份验证。
如果以前的远程地址不起作用,请删除它,现在转到您的存储库并复制 ssh 克隆 url。
现在打开输入以下命令:
git 远程添加源 git@github.com:username/your-repo.git
将 username 和 your-repo 替换为您的用户名和 repo。
现在尝试推送您的更改,运行以下命令。
git push origin master
我希望它对你有用。
【讨论】:
查看代码,似乎没有提供凭据的选项,所以我复制了我的 id_rsa 密钥,运行 git clone、cdd 并运行 docker build .
【讨论】:
当 push 尝试强制它时:
$ git push -u -f origin <name_of_branch>
我知道这有点奇怪,但它对我有用......
【讨论】:
我认为你需要通过命令行设置 git config。
请参阅 github 设置文档:https://help.github.com/articles/set-up-git#platform-all
$ git config --global user.name "Your Name Here"
$ git config --global user.email "your_email@example.com"
等等
【讨论】:
如果其他人遇到此问题并需要帮助,请在您的 Dockerfile 中通过发出以下命令使用您的凭据克隆您的存储库:
git clone https://{username}:{password}@github.com/{username}/project.git
确保您的密码已编码。
【讨论】: