【Azure 应用服务】App Service for Container 无法拉取Docker Hub中...
发布网友
发布时间:2024-10-19 17:31
我来回答
共1个回答
热心网友
时间:2024-12-02 04:34
问题描述
在创建App Service Container服务时,尝试从Docker Hub获取appsmith/appsmith-ce镜像(appsmith.com/ & hub.docker.com/r/appsmi...),但访问站点时遇到了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相同的镜像文件。
a. 如dockerhub.azk8s.cn代理,就专门为中国区用户访问Docker Hub镜像所配置的代理库。
b. 参考:github.com/Azure/contai...
所以,本文中使用的代替访问就是:
使用Private Registry并配置代理URL(dockerhub.azk8s.cn/)用于替换Docker Hub(https://index.docker.io/)。
配置修改对比截图:
修改完成后,再次查看日志:
拉取镜像成功,验证访问站点,也成功了。
参考资料:
Container Registry Proxy : github.com/Azure/contai...
appsmith/appsmith-ce 镜像: appsmith.com/ or hub.docker.com/r/appsmi...