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


119

我想通过docker-compose建立映像并为其设置特定标签。文档说:

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

但是我找不到指定标签的方法,对于生成的图像,我总是看到“最新”标签。


1
github.com/docker/compose/issues/2092是问题跟踪支持,用于构建具有不同名称的图像
dnephin 2015年

Answers:


182

似乎文档/工具已更新,您现在可以将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


7
实际上,它说:“如果同时指定图像和构建,则Compose会使用图像中指定的webapp和可选标签来命名构建的图像”
Daniel AndreiMincă16年

10
多么奇怪的界面!一个字段的存在会反转相同缩进级别的另一个字段的语义。
纳文

@ numbers1311407您可能要编辑/删除您的评论,因为您要回复的评论已消失。似乎您不同意ootwch或答案。
纳文

4
是的,我发现这个概念太奇怪了。我期待一个tag选择。我正在浏览文档以寻找无法使用的标签
Matthew Brent,

1
@Navin如果这还不够奇怪,请尝试将image: my.image.name:rc2docker build: .-compose.yml和docker -compose.override.yml放入其中,然后让docker-compose将两者合并!(您得到的效果与接受的答案相同)
Craftonix –

23

原初答案'2015年11月20日

截至今天,没有特定标签的选项。Docker compose尽其所能,并像您所看到的那样分配一个标签。docker tag <image> <tag>在调用docker-compose之后,您始终可以进行一些脚本调用。

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

build: ./dir
image: webapp:tag

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.