11

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

4

6 回答 6

3

要理解这个错误,记得有两种方法可以从 Github 签出代码:使用用户名/密码,以及使用 SSH 密钥进行身份验证。

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

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

关于如何在 Docker 设置中使用生成的 SSH 密钥的更多信息可以在这个问题中找到: 在 docker 容器中使用 SSH 密钥

希望这可以帮助 :)

于 2020-05-28T10:08:44.910 回答
2

我有同样的问题,我最近加入了 github,但这个 bug 让我非常恼火。我已经成功修复了

首先生成一个 SSH 密钥并对其进行身份验证。

如果它不起作用,请删除任何以前的远程地址,现在转到您的存储库并复制 ssh 克隆 url。

现在打开输入以下命令:

git remote add origin git@github.com:username/your-repo.git

用你的用户名和 repo替换usernameyour- repo。
现在尝试推送您的更改,运行以下命令。

git push 起源大师

我希望它对你有用。

于 2014-01-23T05:06:31.730 回答
1

查看代码,似乎没有提供凭据的选项,所以我复制了我的id_rsa密钥,运行git clonecdd 进入它,然后运行docker build .

于 2013-09-06T04:02:15.377 回答
-2

当 push 尝试强制它:

$ git push -u -f origin <name_of_branch>

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

于 2020-07-28T14:44:39.183 回答
-3

我认为您需要通过命令行设置 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"

等等。

于 2013-09-06T03:34:20.413 回答
-4

如果其他人遇到此问题并需要帮助,请在您的 Dockerfile 中通过发出以下命令使用您的凭据克隆您的 repo:

git clone https://{username}:{password}@github.com/{username}/project.git

确保您的密码已编码。

于 2014-06-09T17:13:22.297 回答