【Azure 应用服务】App Service for Container 无法拉取Docker Hub中的镜像替代方案
问题描述
创建App Service Container服务,选择从Docker Hub中获取appsmith/appsmith-ce 镜像(https://www.appsmith.com/ & https://hub.docker.com/r/appsmith/appsmith-ce/tags ), 但访问站点时遇见Application Error错误。查看部署日志,发现问题原因是:
ERROR - Image pull failed: Verify docker image configuration and credentials (if using private repository)
问题解答
在App Service For Container 中,如果选择从Docker Hub中获取镜像,App Service自动配置的Docker Hub Service URL是 https://index.docker.io。 这个地址可以在创建App Service时候的Review页面中获取,也可以从App Service的Configuration页面中的DOCKER_REGISTRY_SERVER_URL设置中查看。
因为在中国区的特殊情况下,当docker.io无法访问或者访问不稳定的情况下,就会出现Image pull failed的情况。
由于无法修改Docker Hub 在App Service中配置的Service URL,所以只有两种办法来缓解这种情况:
1) 把需要的镜像想办法上传到中国区的ACR(Azure Container Registry)中, 这样就不会面临访问拦截的问题。
2) 使用私有镜像库(Private Registry), 在面临Docker Hub(docker.io) 无法从中国区访问的情况,有很多镜像代理库同样可以下载到与Docker Hub相同的镜像文件。
- 如dockerhub.azk8s.cn 代理,就专门为中国区用户访问Docker Hub镜像所配置的代理库。
- 参考:https://github.com/Azure/container-service-for-azure-china/blob/master/aks/README.md#22-container-registry-proxy
所以,本文中使用的代替访问就是:
使用 Private Registry 并配置代理URL ( https://dockerhub.azk8s.cn/ )用于替换 Docker Hub( https://index.docker.io/ )。
配置修改对比截图:
修改完成后,再次查看日志:
2023-06-19T07:16:29.498Z INFO - Status: Downloaded newer image for dockerhub.azk8s.cn/appsmith/appsmith-ce:release
2023-06-19T07:16:29.501Z INFO - Pull Image successful, Time taken: 3 Minutes and 52 Seconds
拉取镜像成功,验证访问站点,也成功了。
参考资料:
Container Registry Proxy : https://github.com/Azure/container-service-for-azure-china/blob/master/aks/README.md#22-container-registry-proxy
appsmith/appsmith-ce 镜像: https://www.appsmith.com/ or https://hub.docker.com/r/appsmith/appsmith-ce/tags
当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2021-06-19 【Azure 机器人】微软Azure Bot 编辑器系列(4) : 使用语言生成功能[LG: Language Generation] (The Bot Framework Composer tutorials)
2021-06-19 【Azure 机器人】微软Azure Bot 编辑器系列(3) : 机器人对话流中加入帮助和取消按钮功能 (The Bot Framework Composer tutorials)