検索

7.3.2. Docker 外部レジストリーのホワイトリストおよびブラックリスト

download PDF

Docker は、registries および block_registries フラグを docker デーモンに設定して、外部レジストリーからの操作をブロックするように設定できます。

手順
  1. 許可されるレジストリーを registries フラグの付いた /etc/containers/registries.conf ファイルに追加します。

    registries:
      - registry.redhat.io
      - my.registry.example.com
    注記

    docker.io レジストリーは同じ方法で追加できます。

  2. 残りのレジストリーをブロックします。

    block_registries:
       - all
  3. 古いバージョンの残りのレジストリーをブロックします。

    BLOCK_REGISTRY='--block-registry=all'
  4. docker デーモンを再起動します。

    $ sudo systemctl restart docker.service

    docker デーモンの再起動により、docker コンテナーが再起動します。

  5. この例では、docker.io レジストリーがブラックリストに入れられているため、そのレジストリーに関連するすべての操作が失敗します。

    $ sudo docker pull hello-world
    Using default tag: latest
    Trying to pull repository registry.redhat.io/hello-world ...
    Trying to pull repository my.registry.example.com/hello-world ...
    Trying to pull repository registry.redhat.io/hello-world ...
    unknown: Not Found
    $ sudo docker pull docker.io/hello-world
    Using default tag: latest
    Trying to pull repository docker.io/library/hello-world ...
    All endpoints blocked.

    ファイルを再び変更し、サービスを再起動して docker.ioregistries 変数に追加します。

    registries:
      - registry.redhat.io
      - my.registry.example.com
      - docker.io
    block_registries:
      - all

    または

    ADD_REGISTRY="--add-registry=registry.redhat.io --add-registry=my.registry.example.com --add-registry=docker.io"
    BLOCK_REGISTRY='--block-registry=all'
  6. Docker サービスを再起動します。

    $ sudo systemctl restart docker
  7. イメージがプルできる状態であることを確認するには、以下を実行します。

    $ sudo docker pull docker.io/hello-world
    Using default tag: latest
    Trying to pull repository docker.io/library/hello-world ...
    latest: Pulling from docker.io/library/hello-world
    
    9a0669468bf7: Pull complete
    Digest: sha256:0e06ef5e1945a718b02a8c319e15bae44f47039005530bc617a5d071190ed3fc
  8. 外部レジストリーを使用する必要がある場合 (レジストリーを使用する必要のあるすべてのノードホストの docker デーモン設定ファイルを変更する場合など)、これらのノードでブラックリストを作成し、悪意あるコンテナーが実行されるのを防ぐことができます。

    Ansible インストーラーを使用する場合、これは、Ansible ホストファイルの openshift_docker_additional_registries および openshift_docker_blocked_registries 変数を使用して設定できます。

    openshift_docker_additional_registries=registry.redhat.io,my.registry.example.com
    openshift_docker_blocked_registries=all
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.