type
status
date
slug
summary
tags
category
icon
password
书籍
コンテナイメージの操作
目標
このセクションを完了すると、以下のスキルが身につきます:
- コンテナイメージをエクスポート・インポートし、ローカルおよびレジストリで管理する。
docker commit
コマンドを使用して新しいコンテナイメージを作成する。
- コンテナ内で変更されたファイルを特定する。
- 配布目的でイメージタグを管理する。
概要
コンテナイメージを管理する方法はさまざまです。例えば、開発者がカスタムコンテナを作成し、他の開発者や本番環境に転送したい場合には、以下の方法があります:
- コンテナイメージを
.tar
ファイルとして保存する。
- コンテナイメージをイメージレジストリにプッシュする。
注意
カスタムコンテナイメージの作成には、
docker commit
を利用する方法もありますが、推奨される方法は Dockerfile を使用することです。この方法は次の章で説明されます。1. イメージの保存と読み込み
保存 (docker save)
- Dockerキャッシュ内の既存のイメージを
.tar
ファイルとして保存できます。
- 保存されたファイルは通常の tar ファイルではなく、イメージのメタデータやレイヤー情報を含む特別な形式です。
- コマンド構文:
- 例:
読み込み (docker load)
- 保存された
.tar
ファイルを Dockerキャッシュに復元できます。
- コマンド構文:
- 例:
補足
- ディスク容量を節約するため、保存時にファイルを Gzip 圧縮することができます。
docker load
は自動的に Gzip 圧縮ファイルを展開して読み込みます。
2. イメージのレジストリへの公開
タグ付け (docker tag)
レジストリにイメージを公開する前に、イメージにタグを付けて識別する必要があります。
- コマンド構文:
- 例:
公開 (docker push)
タグ付けされたイメージをレジストリにプッシュします。
- コマンド構文:
3. イメージの削除
削除 (docker rmi)
キャッシュ内のイメージは不要になることがあります。イメージを削除する際には、以下のコマンドを使用します。
- コマンド構文:
- コンテナで使用中のイメージは削除できません。先にコンテナを停止・削除する必要があります。
- 使用されていないすべてのイメージを削除する場合:
補足
- イメージが複数のタグで参照されている場合、各タグを個別に削除する必要があります。ただし、
-force
オプションを使用することで強制削除が可能です。
4. イメージの変更
docker commit
Dockerfileを使用せず、実行中のコンテナを直接変更して新しいイメージを作成することも可能です。
- コマンド構文:
- 例:
変更内容の確認
コンテナ内で変更されたファイルを確認するには、
docker diff
を使用します。- コマンド構文:
5. タグ付けのベストプラクティス
推奨事項
latest
タグは、自動的に最新ビルドと見なされますが、プロジェクトによっては最新リリースを示す場合があります。
- バージョン管理を簡単にするため、複数のタグを使用して特定のリリースやバージョンを明確化することが推奨されます。
Docker イメージとタグの関係
- 1つのDockerイメージには複数のタグ(tag)を付けることができる。
- タグは イメージのバージョン管理 に使用される(例:
latest
、v1.0
、stable
など)。
- 異なるタグを持っていても、同じ IMAGE ID を指すことができる。
タグの追加(例)
ローカルにある
myapp
というイメージ(IMAGE ID: abc123
)に複数のタグを付ける:これにより、同じイメージに 3つの異なるタグ が付けられる。
タグ付きのイメージを確認
出力例:
すべてのタグが 同じ IMAGE ID(abc123) を指している。
タグ付きのイメージをプッシュ(リポジトリに送信)
このコマンドで、リモートの Docker レジストリ(Docker Hub やプライベートレジストリ)にイメージをアップロードできる。
タグを削除
特定のタグのみ削除する場合:
これは
stable
タグのみ削除し、イメージ自体は latest
や v1.0
タグが残っている限り削除されない。まとめ
✅ 1つのDockerイメージに複数のタグを付けられる。
✅ タグはバージョン管理に便利(例:
latest
、v1.0
、stable
など)。✅ プッシュやプル(push/pull)時にタグを指定して管理できる。
✅ タグを削除しても、他のタグが残っていればイメージ自体は削除されない。
タグをうまく活用することで、Dockerイメージの管理がしやすくなる! 🚀
- 作者:みなみ
- 链接:https://www.minami.ac.cn//%E8%B3%87%E6%A0%BC%E5%8B%89%E5%BC%B7/144d7ae8-88e2-809b-b654-ec5d67e273a9
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章