0

我有关于 Docker Image 的 Github 包注册表。我想将它部署到 Azure Web Apps。我尝试这样的设置,

  1. 服务器网址:https ://docker.pkg.github.com
  2. 完整图像名称和标签:berviantoleo/my-telegram-bot/my-telegram-bot:latest

我没有填写用户名和密码,因为它是公共 docker 镜像。我也已经尝试带上用户名和密码,但没有运气,仍然无法拉动。

我从日志中看到,它有这样的日志:

2020-11-16T02:46:04.868Z INFO  - Pulling image from Docker hub: berviantoleo/my-telegram-bot/my-telegram-bot:latest

这很奇怪,因为我已经更改了服务器 URL,是服务器 URL 只支持 Docker Hub 吗?我需要这方面的帮助。我已经从 Dockerhub 尝试过了,是的,它可以部署。但现在,我想从 Github Packages Registry 尝试一下。

更新:

  • 我弄错了,全名应该是:docker.pkg.github.com/berviantoleo/my-telegram-bot/my-telegram-bot:latest需要包括docker.pkg.github.com

  • 当更改为私有仓库并提供用户名和密码时,它可以拉取镜像。

  • 公共存储库时,它仍然需要用户名和密码,可能是因为我对包有误解。我认为docker.pkg.github.com仍然需要进行身份验证。我得到这个日志:

     2020-11-18T03:33:57.973Z ERROR - DockerApiException: Docker API responded with status code=InternalServerError, response={"message":"Get https://docker.pkg.github.com/v2/berviantoleo/tele-bot/tele-bot/manifests/latest: no basic auth credentials"}
    
  • 我仍然需要找到不需要用户名和密码的解决方案。

4

1 回答 1

0

好吧,如果您从公共注册表中提取映像,则无需设置凭据,并且默认情况下,公共注册表是 docker hub。对于其他注册中心,私有注册中心,您需要设置环境变量DOCKER_REGISTRY_SERVER_URL来告诉 Web App 从其中拉取图像。并为凭证设置DOCKER_REGISTRY_SERVER_USERNAMEand 。DOCKER_REGISTRY_SERVER_PASSWORD为了快速测试,您使用的图像应该在私有注册表中。因此,您需要为其设置凭据。

于 2020-11-16T06:42:41.490 回答