无法读取' https://github.com'的用户名:没有此类设备或地址

时间:2013-09-06 03:26:42

标签: git github docker

我正在使用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实例中运行。

7 个答案:

答案 0 :(得分:1)

查看代码,看起来没有提供凭据的选项,因此我复制了id_rsa密钥,将git clonecd 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>

我知道这有点奇怪,但是对我有用...