如何使用docker-compose标记docker镜像

时间:2015-11-19 23:43:26

标签: docker docker-compose

我想通过docker-compose构建图像并为其设置特定标记。 Documentation说:

  

Compose将使用生成的名称构建并标记它,并使用它   此后的图像。

但是我找不到指定标签的方法,对于构建的图像我总是看到'最新'标签。

6 个答案:

答案 0 :(得分:121)

似乎文档/工具已更新,您现在可以将image标记添加到脚本中。这对我来说很成功。

示例:

version: '2'
services:

  baggins.api.rest:
    image: my.image.name:rc2
    build:
      context: ../..
      dockerfile: app/Docker/Dockerfile.release
    ports:
      ...

https://docs.docker.com/compose/compose-file/#build

答案 1 :(得分:14)

原始回答 11月20日' 15

截至今天,没有特定标签的选项。 Docker compose只是做它的魔法并分配你正在看到的标签。调用docker-compose后,您可以随时调用docker tag <image> <tag>脚本。

现在有一个如上所述的选项或here

build: ./dir
image: webapp:tag

答案 2 :(得分:3)

如果指定图像和构建,则使用webapp和图像中指定的可选标记Compose命名构建的图像:

build: ./dir
image: webapp:tag

这会产生一个名为webapp和tagged tag的图像,由./dir。

构建

https://docs.docker.com/compose/compose-file/#build

答案 3 :(得分:0)

您可以尝试:

services:
  nameis:
    container_name: hi_my
    build: .
    image: hi_my_nameis:v1.0.0

答案 4 :(得分:0)

确保 Dockerfile 中的 FROM 语句包含正确的图像名称。

答案 5 :(得分:0)

如果您已经构建了映像,则可以使用 docker tag 命令重新标记

docker tag imagename imagename:v1.0

docker tag imagename:v1.0 imagename:v1.1

如果您的存储库附加了多个标签,并且您想删除其中一个,您可以使用 docker rmi 命令:

$ docker rmi imagename:v1.0
Untagged imagename:v1.0

参考: