如何从Azure Container Instance创建容器镜像并下载到本地
从Azure容器实例(ACI)导出容器镜像到本地操作流程
ACI本身不支持直接拉取运行中的容器镜像,需要通过导出容器文件系统再本地重构镜像的方式实现,具体操作步骤如下:
前置准备
- 本地已安装Azure CLI并完成
az login登录到你的Azure订阅 - 本地已安装Docker环境
操作步骤
- 第一步:停止目标ACI实例,避免运行中文件变更导致导出的镜像数据不一致
命令:az container stop --name <你的ACI实例名> --resource-group <对应资源组名> - 第二步:导出ACI容器的完整文件系统为本地tar包
命令:
导出完成后你会在当前执行命令的目录下得到az container export --name <你的ACI实例名> --resource-group <对应资源组名> --file aci_container_fs.taraci_container_fs.tar文件 - 第三步:在tar包同级目录创建Dockerfile,内容如下:
# 从空白基础镜像开始构建 FROM scratch # 导入ACI导出的容器文件系统 ADD aci_container_fs.tar / # 填写原ACI容器的启动命令,和你ARM模板中定义的command一致即可,示例: CMD ["nginx", "-g", "daemon off;"] - 第四步:本地执行Docker构建生成镜像
命令:docker build -t <自定义镜像名:标签> . - 第五步:验证镜像可用性
命令:docker run -d <自定义镜像名:标签> # 运行后可通过docker ps查看容器状态,确认功能正常
可选优化方案
如果你的ACI是基于已有镜像启动、仅做了少量运行时修改,也可以拉取原启动镜像到本地,再结合ACI的运行配置通过docker commit生成新镜像,相比导出文件系统的方式生成的镜像体积更小、兼容性更好。
内容的提问来源于stack exchange,提问作者Floorball72
相关产品推荐
相关产品推荐

