我有一个应用程序容器被推送到gitlab容器注册表。我正在尝试将其作为容器部署到Azure Web应用程序服务中。根据azure的文档,我尽了最大的努力进行了配置。但是我不明白我所缺少的是什么,因为azure日志显示azure仍在尝试连接到docker hub注册表。
在日志中,我得到以下内容
2019-05-13 09:21:49.741 ERROR - DockerApiException: Docker API responded with status code=InternalServerError, response={"message":"Get https://registry-1.docker.io/v2/library/<image-name>/manifests/latest: unauthorized: incorrect username or password"}
2019-05-13 09:21:49.743 ERROR - Pulling docker image <image-name> failed:
2019-05-13 09:21:49.743 INFO - Pulling image from Docker hub: library/<image-name>
2019-05-13 09:21:50.795 ERROR - DockerApiException: Docker API responded with status code=NotFound, response={"message":"pull access denied for <image-name>, repository does not exist or may require 'docker login'"}
2019-05-13 09:21:50.797 ERROR - Image pull failed: Verify docker image configuration and credentials (if using private repository)
有人可以告诉我在这里我可能做错了什么吗?我相信问题是注册表url配置。任何帮助将不胜感激。
答案 0 :(得分:1)
对于其他面临相同问题的人,我的问题是我只给出了映像名称,不得不输入映像注册表的全名registry.gitlab.com/<group name>/<image name>
答案 1 :(得分:0)
因为我花了一些时间来解决这个问题,所以这对我帮助最大。 (感谢 @Hassaan 的回答为我指明了正确的方向)
GitLab
您需要了解位于 GitLab 中的容器注册表。 检查 image naming conventions。
如果您使用 GitLab Cloud 注册表 URL 是:https://registry.gitlab.com
登录 GitLab 后,检查您的项目并导航到“Packages & Registries”并点击“Container Registry”。
如果您已经发布了图片,它将显示在列表中。你在那里看到的就是我所说的“完整图像名称”。
很可能是
如果您尚未将映像发布到该注册表,请检查 docs 以开始使用。
Azure 网络应用
导航到您的应用服务并在左侧菜单中找到“容器设置(经典)”。
然后只需填写所需的数据。
如果您不确定要在登录名和密码中输入什么,请查看如何authenticate with the container registry。