type
status
date
slug
summary
tags
category
icon
password
书籍

第4章: コンテナイメージの管理

目標: コンテナイメージのライフサイクルを作成から削除まで管理する。
目的:
  • リモートレジストリからイメージを検索・取得する。
  • コンテナイメージをローカルまたはレジストリでエクスポート・インポート・管理する。

セクション

  1. レジストリへのアクセス (クイズ付き)
  1. コンテナイメージの操作 (ガイド演習付き)

レジストリへのアクセス

目的

以下が達成できるようになる:
  • リモートレジストリからイメージを検索・取得する。
  • 認証済みの公共レジストリを使用するメリットを説明できる。
  • Dockerデーモンをカスタマイズして別のコンテナイメージレジストリにアクセスできるようにする。
  • DockerコマンドやREST APIを使ってコンテナイメージを検索する。
  • レジストリからイメージを取得する。
  • ダウンロード済みのイメージをデーモンキャッシュから確認する。
  • タグを管理して特定のバージョンのイメージを取得する。

💡
 

1. レジストリ (Registry)

  • レジストリは、コンテナイメージを保管・管理するための場所です。いわば「コンテナイメージの倉庫」と言えます。
  • 例: Docker Hub、Amazon Elastic Container Registry (ECR)、Google Container Registry (GCR) など。

2. リポジトリ (Repository)

  • レジストリの中に存在する「特定のプロジェクトやソフトウェアのコンテナイメージの集合」です。
  • 一つのリポジトリには、通常、特定のソフトウェアやサービスに関連する複数のイメージがタグ(バージョン)付きで保存されます。
  • 例:
    • nginx というリポジトリには、nginx:1.21nginx:1.22 のようなバージョンが含まれます。

3. コンテナイメージ

  • コンテナイメージは、ソフトウェアとその実行環境(ライブラリや設定など)のパッケージです。これを元にコンテナが動作します。

構造の例

  1. レジストリ: Docker Hub
  1. リポジトリ: library/nginx
  1. イメージ:
      • nginx:1.21
      • nginx:1.22

例文でイメージする

  • 「レジストリにアクセスして、nginx リポジトリから最新バージョンのコンテナイメージをプルする」 → Docker コマンドで表すと:
    まとめると、レジストリは倉庫、リポジトリはその中の棚、イメージはその棚に置かれた具体的なアイテムのようなものです!

    公共レジストリ

    • Docker Hub: Dockerが提供する公共レジストリで、Apache、MySQL、Jenkinsなどの主要なOSSや、コミュニティが開発したカスタムイメージを多数ホストしている。
    • 注意点:
      • コミュニティ提供の一部イメージはセキュリティを考慮しておらず、プロダクション環境での利用にはリスクがある。
      • 例: ルートアクセスが必要なコンテナや、ShellShock脆弱性を含むツールが含まれる可能性がある。

    Red Hatの公共レジストリのメリット

    • 信頼性: Red Hatが信頼できるソースからビルド。
    • オリジナル依存関係: パッケージの改ざんがなく、既知のライブラリのみを含む。
    • 脆弱性フリー: 既知の脆弱性を排除。
    • RHEL互換: Red Hat Enterprise Linuxプラットフォームとの完全な互換性。
    • Red Hatサポート: スタック全体の商業的サポートを提供。

    プライベートレジストリ

    • チームが内部利用のためにカスタムコンテナイメージを配布する場合、プライベートレジストリを使用する方が適切。
    • RHELホストでプライベートレジストリを使用するには、/etc/sysconfig/dockerファイルのADD_REGISTRY変数を更新する必要がある。

    設定例

    以下のように設定:
    • 設定を有効にするには、Dockerデーモンの再起動が必要:

    セキュリティ接続の設定

    • 信頼できる閉鎖環境では、/etc/sysconfig/dockerに以下を追加してセキュリティなし接続をサポートできる:

    レジストリへのアクセス方法

    DockerデーモンはDockerコマンドを介してRESTful APIでコンテナイメージレジストリにアクセスする。
    • コマンド:

    主要オプション

    オプション
    説明
    --automated=true
    Dockerfileを使った自動ビルドイメージのみ表示
    --no-trunc=true
    出力を省略せず全体を表示
    --stars=N
    指定したスター数以上のイメージを表示

    注意点

    • 最大25件までの検索結果しか表示されず、利用可能なタグは一覧に含まれない。
    • RESTful APIを使用することで制限を克服できる。
    REST APIは、curlなどのHTTPツールを使ってレジストリ情報を取得し、Dockerクライアントの問題をトラブルシュートする際に便利。

    違いのまとめ

    特徴
    Docker Registry
    Docker Hub
    用途
    プライベートなレジストリ、企業内で使用
    パブリックおよびプライベートリポジトリ
    対象ユーザー
    企業、開発チーム、プライベートユーザー
    個人ユーザー、開発者、企業
    リポジトリの管理
    企業内で管理される、カスタムイメージが多い
    オープンソース、他ユーザーと共有されることが多い
    アクセス制限
    企業内や認証されたユーザーのみアクセス可
    パブリックに公開されたものも多く、認証が必要な場合も
    イメージの取得方法
    オンプレミスでの運用が多い
    Docker HubのWebインターフェースからも取得可能

    コンテナイメージ管理に関する手順

    1. レジストリに保存されているコンテナイメージの一覧取得

    特定のレジストリからイメージ一覧を取得するには、REST APIを使用します。
    nパラメータを指定することで、取得するイメージ数を制御できます。

    コマンド例

    出力例


    2. イメージのタグ情報を取得

    特定のイメージに関連するタグ一覧を取得するには、以下のAPIを使用します。
    GET /v2/<リポジトリ名>/tags/list

    手順

    1. ユーザー名とパスワードを定義
      1. 認証トークンを取得
        1. リポジトリ一覧を取得
          1. タグ情報の取得

            3. プライベートレジストリでのイメージ検索

            プライベートレジストリでイメージを検索するには、docker-registry-cliスクリプトを使用します。

            コマンド例

            • すべてのイメージを一覧表示
              • 出力例:
            • 特定文字列で検索
              • 出力例:

            4. コンテナイメージの取得 (Pull)

            Dockerコマンドを使用して、レジストリからイメージを取得します。

            コマンド構文

            オプション例

            • -all-tags=true : リポジトリ内のすべてのタグを取得
            • -disable-content-trust=true : イメージの検証をスキップ

            コマンド例


            5. キャッシュされたイメージの一覧確認

            ホストにキャッシュされたコンテナイメージを確認するには、以下のコマンドを使用します。

            コマンド例

            出力例


            参考リンク



            シナリオ

            1. 環境設定
                • RHELホストに Docker デーモンがインストールされており、以下の内容の /etc/sysconfig/docker ファイルがある:
                  • registry.access.redhat.comdocker.io にはレジストリが稼働している。
                  • 両レジストリは有効な証明書を持ち、バージョン1のレジストリを使用。
                  • まだイメージはデーモンにダウンロードされていない。
              1. イメージ情報
                  • registry.access.redhat.com のイメージ:
                    • nginx/1.0
                    • mysql/5.6
                    • httpd/2.2
                  • docker.io のイメージ:
                    • mysql/5.5
                    • httpd/2.4

              クイズ

              1. 次のコマンドのうち、registry.access.redhat.com からダウンロード可能な mysql イメージを検索する正しいコマンドを2つ選びなさい。

              a. docker search registry.access.redhat.com/mysql
              b. docker images
              c. docker pull mysql
              d. docker search mysql
              正解
              ad

              2. httpd コンテナイメージのすべてのタグを表示するコマンドはどれですか?

              a. docker search httpd
              b. docker images httpd
              c. docker pull --all-tags=true httpd
              d. タグを検索するDockerコマンドは存在しない。
              正解
              d

              3. 次のコマンドのうち、タグ 2.2httpd イメージをダウンロードする正しいコマンドを2つ選びなさい。

              a. docker pull httpd:2.2
              b. docker pull httpd:latest
              c. docker pull docker.io/httpd
              d. docker pull registry.access.redhat.com/httpd:2.2
              正解
              ad

              4. 以下のコマンドを実行した後、docker images コマンドの出力結果はどれですか?

              • 選択肢
                • Option 1:
                  • Option 2:
                    • Option 3:
                      • Option 4:
                      正解
                      3
                       
                       
                      相关文章
                      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
                      15- 第4章:コンテナイメージの管理-2:コンテナイメージの操作の説明13- 第3章: コンテナの管理-6:MySQL データベースのロードの演習
                      Loading...
                      みなみ
                      みなみ
                      一个普通的干饭人🍚
                      最新发布
                      35条書面-64問-1
                      2025年6月13日
                      TOKYO自習島
                      2025年6月10日
                      平成26年秋期 午後問1
                      2025年6月6日
                      令和5年秋期 午後問1
                      2025年6月6日
                      令和2年秋期 午後問1
                      2025年6月6日
                      業務上の規制-87問-1
                      2025年6月4日
                      公告

                      🎉 欢迎访问我的博客 🎉

                      🙏 感谢您的支持 🙏

                      📅 本站自 2024年9月1日 建立,致力于分享在 IT・MBA・不动产中介 等领域的学习与实践,并推动 学习会 的自主开展。
                      📖 博客语言使用比例
                      🇯🇵 日语 90% 🇨🇳 中文 8% 🇬🇧 英语 2%

                      📚 主要内容

                      💻 IT・系统与开发

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

                      🏠 不动产 × 宅建士

                      • 宅建士考试笔记

                      🎓 MBA 学习笔记

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

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

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