无法使用 docker login 登录到 ACR

我在企业网络中的 docker 服务器上有一些 docker 镜像。Docker 机器可以正常工作并能够执行所有 docker 命令。

我创建了 ACR 存储库,现在想将这些 docker 镜像推送到 ACR。 ACR 可从 docker 机器访问

root@artifactory:/home/administrator# curl -Is https://fo25.azurecr.io/v2/
HTTP/1.1 200 Connection established

HTTP/1.1 401 Unauthorized
Server: openresty
Date: Sat, 04 Apr 2020 12:21:29 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 149
Connection: keep-alive
Access-Control-Expose-Headers: Docker-Content-Digest
Access-Control-Expose-Headers: WWW-Authenticate
Access-Control-Expose-Headers: Link
Access-Control-Expose-Headers: X-Ms-Correlation-Request-Id
Docker-Distribution-Api-Version: registry/2.0
Strict-Transport-Security: max-age=31536000; includeSubDomains
Www-Authenticate: Bearer realm="https://fo25.azurecr.io/oauth2/token",service="fo25.azurecr.io"
X-Content-Type-Options: nosniff
X-Ms-Correlation-Request-Id: 354950c2-a4d8-40ac-9b0b-d6f197572284
Strict-Transport-Security: max-age=31536000; includeSubDomains

仍然无法将这些镜像推送到 ACR。以下是我用于推送镜像并遇到以下错误的命令

root@artifactory:/home/administrator# cat pass | docker login --username fo25 --password-stdin https://fo25.azurecr.io/v2/
Error response from daemon: Get https://fo25.azurecr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

不确定问题出在哪里。我已检查了所有内容,如用户名、访问密钥等。 URL 也是可访问的,因为我们获取了 200 访问代码。 我需要增加超时时间吗?

点赞
用户4140278
用户4140278

希望你按照这个链接的步骤进行操作。

我在公司网络中也遇到过类似的问题,请尝试在不同的机器上或者不同的网络下进行操作。

2020-04-04 15:23:27
用户2315104
用户2315104
**将下面翻译成中文并且保留原本的 markdown 格式**

其问题已解决。这只是代理配置的问题。代理 URL 指向了错误的 HTTPS 连接端口,这是问题所在。

更正端口后,docker 登录成功。 ```

2020-04-25 05:24:56