azure-web-app-service - 如何将 docker 镜像从 Github 包注册表部署到 Azure Web Apps
问题描述
我有关于 Docker Image 的 Github 包注册表。我想将它部署到 Azure Web Apps。我尝试这样的设置,
- 服务器网址:https ://docker.pkg.github.com
- 完整图像名称和标签: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"}
我仍然需要找到不需要用户名和密码的解决方案。
解决方案
好吧,如果您从公共注册表中提取映像,则无需设置凭据,并且默认情况下,公共注册表是 docker hub。对于其他注册中心,私有注册中心,您需要设置环境变量DOCKER_REGISTRY_SERVER_URL
来告诉 Web App 从其中拉取图像。并为凭证设置DOCKER_REGISTRY_SERVER_USERNAME
and 。DOCKER_REGISTRY_SERVER_PASSWORD
为了快速测试,您使用的图像应该在私有注册表中。因此,您需要为其设置凭据。
推荐阅读
- sharepoint-2013 - 文档库中缺少 SiteColumn
- azure-active-directory - 日历端点返回 OrganizationFromTenantGuidNotFound
- c++ - clang-format:禁用宏的格式化?
- c# - 如何在进入控制器之前在.net中调试挂起的请求
- java - 如何使用 Kafka 加入两个流
- android - Android findViewById() 仅在 Oreo 上返回 null
- python - 使用 python etree 打印 xml 的嵌套元素
- apache - 如何重新启动容器而不是删除 pod 并重新创建?
- wordpress - 自定义内容并以 PDF 格式导出
- ios - 如何使用 swift 显示带有进度条的 AVAudioPlayer?