効率的なDockerイメージの管理は、開発とデプロイの合理化に不可欠です。このガイドでは、Dockerイメージのタグ付けという重要な実践に焦点を当て、スタンドアロンのDockerコマンドとDocker Composeとの統合の両方を網羅します。
目次
docker build
を使用したタグ付け
docker build
コマンドは、イメージ作成時にタグを付ける最も直接的な方法を提供します。-t
フラグはタグを指定し、<repository>:<tag>
の形式に従います。リポジトリには、多くの場合、Docker Hubのユーザー名またはプライベートレジストリのアドレスが含まれ、タグは通常、バージョン(例:1.0
、latest
、v1.2.3
)、ブランチ名、または説明的な識別子を表現します。
現在のディレクトリにDockerfile
があることを前提として、次を使用してイメージをビルドしてタグ付けします。
docker build -t my-username/my-image:1.0 .
このコマンドは、次のことを行います。
docker build
:イメージのビルドプロセスを開始します。-t my-username/my-image:1.0
:タグを指定します。my-username/my-image
と1.0
を目的の値に置き換えます。.
:ビルドコンテキスト(現在のディレクトリ)を示します。
タグを確認するには、次を使用します。
docker images
タグ付きのイメージをレジストリ(例:Docker Hub)にプッシュします。
docker push my-username/my-image:1.0
docker images
から取得したIDを使用して、既存のイメージにタグを付けることもできます。
docker tag <image_id> my-username/my-image:1.0
Docker Composeを使用したタグ付け
Docker Composeは、マルチコンテナアプリケーションの管理を簡素化します。docker-compose.yml
ファイル内でイメージタグを定義することで、ビルドとデプロイのプロセスを合理化します。
既存のイメージの指定:
version: "3.9"
services:
web:
image: my-username/my-image:1.0
ports:
- "80:80"
これは、my-username/my-image:1.0
イメージを使用します。docker-compose up -d
は、このイメージを(ローカルにない場合)プルしてコンテナを起動します。このコマンドを実行する前に、イメージがローカルまたはレジストリに存在することを確認してください。
Docker Compose内でのビルドとタグ付け:
version: "3.9"
services:
web:
build:
context: ./web-app
dockerfile: Dockerfile
ports:
- "80:80"
これは、./web-app
のDockerfile
からイメージをビルドします。build
セクション内でタグを指定するか、上記の方法で後でタグを付けることもできます。
タグ付けのベストプラクティス
明確で一貫性のあるタグ付け戦略を採用してください。セマンティックバージョニング(例:1.0.0
、1.0.1
)を使用して変更を追跡し、ロールバックを簡素化します。バージョン番号に加えて、環境を反映するタグ(例:production
、staging
、dev
)を使用することを検討してください。意図しないバージョンの誤ったデプロイを防ぐために、本番デプロイではlatest
などの汎用的なタグを避けてください。