关于az acr build --no-push参数的镜像获取问题及命名合理性咨询
关于
az acr build --no-push的镜像获取与参数命名问题 能不能获取已构建的镜像?
很遗憾,你没办法拿到这个构建好的镜像。原因在于--no-push参数的实际逻辑是:让ACR在云端的临时构建节点上完成完整的镜像构建流程,但不会把最终生成的镜像推送到ACR的正式存储仓库,也不会同步到你的本地机器。构建结束后,这个临时节点会被销毁,镜像也就跟着消失了——它根本没有被持久化保存下来。你看到的“镜像已在远程注册表中创建”的反馈其实是个容易误导的提示,实际这个镜像并没有存入ACR的仓库里。
这个参数是不是应该叫--dry-run?
其实这两个参数的定位完全不同,所以当前命名是合理的:
--dry-run的作用通常是模拟整个流程,不实际执行构建操作——它只会检查Dockerfile语法、构建上下文完整性、权限配置这些前置条件,不会真的去编译镜像层、生成完整镜像。- 而
--no-push是实实在在完成了全部镜像构建步骤,从拉取基础镜像、执行Dockerfile指令到生成最终镜像,每一步都真实执行了,只是最后跳过了“推送到ACR仓库”这一步。
所以--no-push这个名字更准确,它描述的是“跳过推送”这个特定行为,而非“模拟运行”。
内容的提问来源于stack exchange,提问作者dosmanak
相关产品推荐
相关产品推荐

