【发布时间】:2021-06-24 17:47:25
【问题描述】:
想澄清我的理解,因为我在学习documentation后感到困惑
对于命令docker build -t,定义表明
-t flag "名称和可选的 'name:tag' 格式的标签"
然后我们运行 docker tag xxx 来“创建一个引用 SOURCE_IMAGE 的标签 TARGET_IMAGE”,然后我们才能推送到注册表。
这里 2 标记的功能有什么区别? -t 标志是否标记为构建(图像)的名称,然后 docker tag 在推送之前位于“已标记”构建之上?
我尝试在线搜索和这里的问题,但找不到任何解释。
【问题讨论】:
-
docker tag和-t标志之间没有区别。-t标志只是简写,而不是构建图像并随后运行docker tag来标记图像 ID。 -
简而言之:
docker build -t name:tag .==docker build . && docker tag <id_of_precedent_buid_written_on_screen> name:tag -
感谢您的澄清,为什么有很多指南同时指定两者?例如,AWS 指南“Push commands for ECR”docs.aws.amazon.com/AmazonECR/latest/userguide/… 和控制台内。第 3 步:从 Dockerfile 构建 Docker 映像。 “docker build -t hello-world。”之后使用“docker tag hello-world:latest aws_account_id.dkr.ecr.us-east-1.amazonaws.com/hello-world:latest”。这两个步骤的目的有区别吗?
-
这是否意味着如果我们使用
docker build -t标志,我们可以跳过命令步骤docker tag? -
您的示例首先使用本地注册表 (
hello-world) 中的名称标记图像。然后它用远程注册表中的名称标记它 (aws_account_id.dkr.ecr.us-east-1.amazonaws.com/hello-world:latest)。这允许您将图像push到该注册表。
标签: docker