docker-composeでdocker画像にタグを付ける方法


119

docker-composeでイメージを作成し、特定のタグを設定したいのですが。ドキュメントは言う:

Composeはそれを作成して生成された名前でタグ付けし、その後そのイメージを使用します。

しかし、私はタグを指定する方法を見つけることができず、ビルドされたイメージには常に「最新」のタグが表示されます。


1
github.com/docker/compose/issues/2092は、別の名前でイメージを構築するための問題追跡サポートです
dnephin

回答:


182

docs / toolが更新された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ăOct

10
なんと奇妙なインターフェースでしょう!1つのフィールドが存在すると、同じインデントレベルにある別のフィールドのセマンティクスが反転します。
Navin、2018年

@ numbers1311407返信しているコメントがなくなったため、コメントを編集/削除したい場合があります。まるであなたはootwchや答えに同意していないように見えます。
Navin、2018年

4
ええ、このコンセプトはとても奇妙だと思いました。tagオプションを期待していた。タグを探してドキュメントを探し回っていましたが、役に立ちませんでした
マシューブレント

1
@Navinこれが十分に奇妙でない場合、docker image: my.image.name:rc2-compose.ymlとdocker-compose.override.ymlに入れて、docker build: .-composeに2つをマージさせてください!(承認された回答と同じ効果が得られます)
Craftonix-AA

23

元の回答2015年11月20日

本日現在、特定のタグのオプションはありません。Docker composeはその魔法を実行し、あなたが見ているようにタグを割り当てます。docker tag <image> <tag>docker-composeを呼び出した後、いつでもスクリプトを呼び出すことができます。

今、上記またはここで説明されているオプションがあります

build: ./dir
image: webapp:tag

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.