azure - 无法使用 docker login 登录 ACR
问题描述
我在公司网络中托管的 docker 服务器上有某些 docker 映像。docker 机器工作正常,能够执行所有 docker 命令。
我已经创建了 ACR 存储库,现在想将这些 docker 映像推送到 ACR。可以从 docker 机器访问 ACR
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 个访问代码。我需要增加超时时间吗?
解决方案
它解决了。这只是代理配置的问题。代理 URL 指向 HTTPS 连接的错误端口,这就是问题所在。
更正到正确的端口后,docker登录成功
推荐阅读
- c# - 当前上下文中不存在名称“猫”
- unity3d - 如何在 Unity Mapbox World Scale 中添加碰撞物理?
- reactjs - 如何修复该 fetchmetadata:sill resolvewithnewmodule react-is@16.8.6 检查可安装
- android - 谷歌云端点框架与 Android Studio 和 gradle 5.1.1 不兼容
- vhdl - 从文件中读取矩阵
- sql - 使用日期之间的减法来处理“order by”的问题(其中一个来自查询)
- css - 用于电子邮件格式的媒体查询不起作用
- asp.net-core - 如何使用本地 ADFS 验证和获取 ASP .NET CORE WEB API 应用程序的令牌?
- c++ - 行为:内存操作错误或内存泄漏 C++
- image - 提高 28 x 28 像素图像中单个字母识别的建议