我正在使用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实例中运行。
答案 0 :(得分:1)
查看代码,看起来没有提供凭据的选项,因此我复制了id_rsa
密钥,将git clone
,cd
d运行到其中,然后跑docker build .
答案 1 :(得分:1)
要了解此错误,请记住有两种方法可以从Github中检出代码:使用用户名/密码和使用SSH密钥进行身份验证。
在Github UI中,“克隆或下载”按钮提供两个选项:使用SSH克隆和使用HTTPS 。 (我不知道,如果您已将SSH密钥添加到您的Github帐户中,则可能只有两个选项)。使用https-URL检出代码需要输入用户名和密码进行身份验证。 SSH选项创建一个git @ github-URL,并且签出不询问用户名和密码。
我建议您不将您的Github帐户密码保存在EC2机器或Docker配置中。我也不建议您将个人id_rsa文件复制到EC2实例上。相反,为此,请在Github上使用create a dedicated SSH key。给它一个合适的标签,然后决定是允许推入代码还是仅允许拉入代码。这意味着如果密钥丢失或停止使用此设置,您以后可以轻松撤消访问。
有关如何在Docker设置中使用生成的SSH密钥的更多信息,可以在以下问题中找到: Using SSH keys inside docker container
希望这会有所帮助:)
答案 2 :(得分:0)
我有同样的问题,我最近加入了github,但是这个bug让我非常讨厌。 我已成功修复它,
首先Generate an SSH key并对其进行身份验证。
删除任何以前的远程地址,如果它不起作用,现在转到您的存储库并复制ssh clone url。
现在打开键入以下命令:
git remote add origin git@github.com:username/ your-repo.git
将用户名和 your-repo 替换为您的用户名和回购。
现在尝试推送您的更改,运行以下命令。
git push origin master
我希望它对你有用。
答案 3 :(得分:0)
如果其他人遇到此问题并需要帮助,请在您的Dockerfile中通过发出以下命令克隆您的凭据并使用您的凭据:
git clone https://{username}:{password}@github.com/{username}/project.git
确保您的密码已编码为http://meyerweb.com/eric/tools/dencoder/
答案 4 :(得分:0)
您需要按照here
中的说明更新您的凭据管理器this issue答案 5 :(得分:-2)
我认为你需要通过命令行设置git配置。
请参阅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"
等
答案 6 :(得分:-2)
当推时尝试用以下方法强制使用它:
$ git push -u -f origin <name_of_branch>
我知道这有点奇怪,但是对我有用...