type
status
date
slug
summary
tags
category
icon
password
书籍

コンテナイメージの操作

目標

このセクションを完了すると、以下のスキルが身につきます:
  1. コンテナイメージをエクスポート・インポートし、ローカルおよびレジストリで管理する。
  1. docker commit コマンドを使用して新しいコンテナイメージを作成する。
  1. コンテナ内で変更されたファイルを特定する。
  1. 配布目的でイメージタグを管理する。

概要

コンテナイメージを管理する方法はさまざまです。例えば、開発者がカスタムコンテナを作成し、他の開発者や本番環境に転送したい場合には、以下の方法があります:
  1. コンテナイメージを .tar ファイルとして保存する。
  1. コンテナイメージをイメージレジストリにプッシュする。

注意

カスタムコンテナイメージの作成には、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)を付けることができる。
                          • タグは イメージのバージョン管理 に使用される(例:latestv1.0stable など)。
                          • 異なるタグを持っていても、同じ IMAGE ID を指すことができる。

                          タグの追加(例)

                          ローカルにある myapp というイメージ(IMAGE ID: abc123)に複数のタグを付ける:
                          これにより、同じイメージに 3つの異なるタグ が付けられる。

                          タグ付きのイメージを確認

                          出力例:
                          すべてのタグが 同じ IMAGE ID(abc123) を指している。

                          タグ付きのイメージをプッシュ(リポジトリに送信)

                          このコマンドで、リモートの Docker レジストリ(Docker Hub やプライベートレジストリ)にイメージをアップロードできる。

                          タグを削除

                          特定のタグのみ削除する場合:
                          これは stable タグのみ削除し、イメージ自体は latestv1.0 タグが残っている限り削除されない。

                          まとめ

                          1つのDockerイメージに複数のタグを付けられる。
                          タグはバージョン管理に便利(例:latestv1.0stable など)。
                          プッシュやプル(push/pull)時にタグを指定して管理できる。
                          タグを削除しても、他のタグが残っていればイメージ自体は削除されない。
                          タグをうまく活用することで、Dockerイメージの管理がしやすくなる! 🚀
                           
                          相关文章
                          RedHat EX200 本番近い試験問題集
                          Lazy loaded image
                          RedHat EX200 本番試験問題集(有料版)
                          Lazy loaded image
                          82- 第17章:導入総復習-3:OpenShiftにマルチコンテナデプロイのラボ
                          Lazy loaded image
                          81- 第17章:導入総復習-2:docker,KubernetesおよびOpenShiftのラボ
                          Lazy loaded image
                          80- 第17章:導入総復習-1:総合レビュー
                          Lazy loaded image
                          79- 第16章:OpenShiftの管理と監視-8:ラボ
                          Lazy loaded image
                          16- 第4章:コンテナイメージの管理-3:カスタムコンテナイメージ作成の演習14- 第4章:コンテナイメージの管理-1:レジストリへのアクセスの説明
                          Loading...
                          みなみ
                          みなみ
                          一个普通的干饭人🍚
                          最新发布
                          第1回:イントロダクション
                          2025-4-21
                          TOKYO自習島
                          2025-4-21
                          第1回:イントロダクション
                          2025-4-18
                          第1回:オリエンテーション/意思決定と会計情報
                          2025-4-18
                          建物業法の基本と免許-59問
                          2025-4-10
                          宅建士过去问速刷:小南小白陪你拿证-001
                          2025-4-7
                          公告

                          🎉 欢迎访问我的博客 🎉

                          🙏 感谢您的支持 🙏

                          📅 本站自 2024年9月1日 建立,致力于分享我在 IT・MBA・不动产中介 等领域的学习与实践经验,并推动 线上线下学习会 的自主开展。

                          📚 主要内容

                          💻 IT・系统与开发

                          • 系统管理:Red Hat 等
                          • 容器与编排:Kubernetes、OpenShift
                          • 云计算:AWS、IBM Cloud
                          • AI 入门:人工智能基础与实践
                          • 技术笔记与考证经验

                          🏠 不动产 × 宅建士

                          • 宅建士考试笔记

                          🎓 MBA 学习笔记

                          • 管理学、经济学、财务分析等

                          🔍 快速查找内容(标签分类)

                          由于网站目前没有专门的设计,可能会导致查找信息不便。为了更快找到你感兴趣的内容,推荐使用以下标签功能 进行搜索!
                          📌 定期更新,欢迎常来看看!
                          📬 有任何建议或想法,也欢迎留言交流!