【Azure 应用服务】App Service for Container 无法拉取Docker Hub中的镜像替代方案

简介: 【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相同的镜像文件。

所以,本文中使用的代替访问就是:

使用 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

 

相关文章
|
8月前
|
Java 应用服务中间件 API
【App Service】部署War包到Azure云上遇404错误
Java应用部署至Azure App Service for Windows后报404,本地运行正常。经排查,日志提示类文件版本不兼容:应用由Java 17(class file version 61.0)编译,但环境仅支持到Java 11(55.0)。错误根源为Java版本不匹配。调整App Service的Java版本至17后问题解决,成功访问接口。
861 3
|
8月前
|
存储 Linux 网络安全
【Azure App Service】Root CA on App Service
Azure App Service for Windows应用连接外部SSL服务时,需确保其证书由受信任的根CA颁发。多租户环境下无法修改根证书,但ASE(单租户)可加载自定义CA证书。若遇证书信任问题,可更换为公共CA证书或将应用部署于ASE并导入私有CA证书。通过Kudu的PowerShell(Windows)或SSH(Linux)可查看当前受信任的根证书列表。
178 13
|
9月前
|
存储 前端开发 安全
实现“永久登录”:针对蜻蜓Q系统的用户体验优化方案(前端uni-app+后端Laravel详解)-优雅草卓伊凡
实现“永久登录”:针对蜻蜓Q系统的用户体验优化方案(前端uni-app+后端Laravel详解)-优雅草卓伊凡
358 5
|
9月前
|
数据安全/隐私保护
【Azure Function App】PowerShell Function 执行 Get-AzAccessToken 的返回值类型问题:System.String 与 System.Security.SecureString
将PowerShell Function部署到Azure Function App后,Get-AzAccessToken返回值类型在不同环境中有差异。正常为SecureString类型,但部分情况下为System.String类型,导致后续处理出错。解决方法是在profile.ps1中设置环境变量$env:AZUREPS_OUTPUT_PLAINTEXT_AZACCESSTOKEN=false,以禁用明文输出。
231 1
|
Docker 容器 调度
如何滚动更新 Service?- 每天5分钟玩转 Docker 容器技术(102)
在前面的实验中,我们部署了多个副本的服务,本节将讨论如何滚动更新每一个副本。 滚动更新降低了应用更新的风险,如果某个副本更新失败,整个更新将暂停,其他副本则可以继续提供服务。同时,在更新的过程中,总是有副本在运行的,因此也保证了业务的连续性。
2265 0
|
9月前
|
Kubernetes Devops Docker
Kubernetes 和 Docker Swarm:现代 DevOps 的理想容器编排工具
本指南深入解析 Kubernetes 与 Docker Swarm 两大主流容器编排工具,涵盖安装、架构、网络、监控等核心维度,助您根据团队能力与业务需求精准选型,把握云原生时代的技术主动权。
788 115
|
9月前
|
缓存 前端开发 Docker
Docker Layer Caching:加速你的容器构建
Docker Layer Caching:加速你的容器构建

热门文章

最新文章