【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
【Azure 应用服务】App Service for Container 无法拉取Docker Hub中的镜像替代方案的更多相关文章
- .Net Core:Docker无法拉取mcr.microsoft.com相关镜像解决办法
今天在教同事Docker简单部署Asp.Net Core项目,pull镜像时突然出现下图中的错误: 因为微软在 2018 年五月之后,只会将相关镜像打包发布到 MCR 上.但是 MCR 对国内用户不太 ...
- 【应用服务 App Service】快速获取DUMP文件(App Service for Windows(.NET/.NET Core))
问题情形 当应用在Azure 应用服务App Service中运行时,有时候出现CPU,Memory很高,但是没有明显的5XX错误和异常日志,有时就是有异常但是也不能明确的指出具体的代码错误.当面临这 ...
- 【Azure App Service For Container】创建ASP.NET Core Blazor项目并打包为Linux镜像发布到Azure应用服务
欢迎使用 Blazor!Blazor 是一个使用 .NET 生成交互式客户端 Web UI 的框架: 使用 C# 代替 JavaScript 来创建信息丰富的交互式 UI. 共享使用 .NET 编写的 ...
- 【应用服务 App Service】Azure 应用服务测试网络访问其他域名及请求超时限制(4分钟 ≈ 230秒)
测试App Service是否可以访问其他DNS 当应用服务(Azure App Service)创建完成后,想通过ping命令来查看是否可以访问其他站点或解析DNS,但是发现ping命令无法使用.这 ...
- 【应用服务 App Service】App Service中抓取网络日志
问题描述 众所周知,Azure App Service是一种PaaS服务,也就是说,IaaS层面的所有内容都由平台维护,所以使用App Service的我们根本无法触碰到远行程序的虚拟机(VM), 所 ...
- 【应用服务 App Service】如何移除App Service Response Header中包含的服务器敏感信息
问题描述 有些情况下,当应用部署到App Service上后,在有些Response Header中,可以看见关于服务器的一些信息,这样会导致隐藏的安全问题,所以可以在web.config中移除某些关 ...
- Git 无法拉取,Unlink of file '.git/objects/pack/pack-***.pack' failed. Should I try again? (y/n)
现象 Git 无法拉取,提示: Unlink of file '.git/objects/pack/pack-***.pack' failed. Should I try again? (y/n) 原 ...
- 使用git pull拉取代码的时候,无法拉取最新代码,报"unable to update local ref"错误。
使用git pull拉取代码的时候,无法拉取最新代码,报"unable to update local ref"错误. 除了重新clone一份代码外,还可以使用如下解决方案: .切 ...
- git 无法拉取最新代码
删除本地文件后,想从远程仓库中重新新Pull最新代码,但是执行了git pull origin develop 命令后始终无法拉取下来 提示 Already up-to-date. 原因:当前本地库处 ...
- 还在因为部署 Kubernetes 时,无法拉取 k8s.gcr.io/*** 镜像而头疼吗
拉取外网 Kubernetes 镜像 还在因为部署 Kubernetes 时,无法拉取 k8s.gcr.io/*** 镜像而头疼吗? 传送门 https://github.com/liamhao/pu ...
随机推荐
- Distinctive Image Features from Scale-Invariant Keypoints 论文解读
Distinctive Image Features from Scale-Invariant Keypoints 论文解读 著名的SIFT local feature提取方法 Scale-space ...
- Tmux 使用教程
本文转载自阮一峰老师的博客文章<Tmux 使用教程>,感谢阮老师! Tmux 是一个终端复用器(terminal multiplexer),非常有用,属于常用的开发工具. 本文介绍如何使用 ...
- 面向接口编程实践之aspnetcoreapi的抽象
最为一名越过菜鸟之后的开发,需要做接口开发.下面做一个纯粹的接口编程的实例demo,仅仅是一个webapi接口的抽象. 下面是代码接口,AbsEFWork是webapi,BaseEntityFrame ...
- 使用Java接入小程序订阅消息!
更新完微信服务号的模板消息之后,我又赶紧把微信小程序的订阅消息给实现了!之前我一直以为微信小程序也是要企业才能申请,没想到小程序个人就能申请. 消息推送平台推送下发[邮件][短信][微信服务号][微信 ...
- Array.prototype.at。Arrat和 String 中的 at 方法
一篇有关新 js 特性 at 方法的思考 入参只能是number 类型,允许入参有小数(按照 chrome DevTools Console 测试确实可以带小数) 有返回值,如果对应下标在实例中存在, ...
- SQL Server 2022 AlwaysOn新特性之包含可用性组介绍
由于技术能力有限,文章仅能进行简要分析和说明,如有不对的地方,请指正,谢谢. SQL Server的容灾功能一直弱于Oracle和MySQL,无法自动同步元数据(用户.登录名.权限.SQL 代理作业. ...
- RMQ问题ST表
稀疏表(Sparse Table表) 解决静态RMQ,区间最值查询问题的数据结构,树状数组(BIT)解决动态前缀和问题的数据结构: 例:https://www.luogu.org/problemnew ...
- Django admin管理工具的使用、定制及源码解析
admin组件使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.你可以在项目的 settings.py 中的 INSTALLE ...
- 简要介绍django框架
Django是一个高级的Python Web框架,它鼓励快速开发和干净.实用的设计. Django遵循MVC(模型-视图-控制器)设计模式,使得开发者能够更轻松地组织代码和实现功能.以下是Django ...
- 创建nodejs项目并接入mysql,完成用户相关的增删改查的详细操作
本文为博主原创,转载请注明出处: 1.使用npm进行初始化 在本地创建项目的文件夹名称,如 node_test,并在该文件夹下进行黑窗口执行初始化命令 2. 安装 expres包和myslq依赖包 n ...