1. レジストリについて 公式 Docker ハブは、パブリックイメージを管理するのに適した場所です。必要なイメージをそこで見つけたり、独自のイメージをプッシュしたりできます。 しかし、使用シナリオによっては、独自のイメージを管理するためのプライベート イメージ リポジトリが必要になる場合があります。これはオープンソース ソフトウェア レジストリを通じて実現できます。 レジストリには、GitHub 上に古いコード ベースと新しいコード ベースの 2 つのコードがあります。古いコードは Python で書かれており、プルとプッシュでパフォーマンスの問題があります。バージョン 0.9.1 以降は非推奨とマークされ、開発されなくなりました。 バージョン 2.0 からは、Go 言語で記述された新しいコード ベースでの開発が開始されました。イメージ ID 生成アルゴリズムとレジストリ上のイメージ ストレージ構造が変更され、イメージのプルとプッシュの効率が大幅に最適化されました。 公式レジストリイメージは Docker hub で提供されています。レジストリイメージを直接使用してコンテナを構築し、独自のプライベート ウェアハウス サービスを構築できます。 2. レジストリを構築する まず画像を検索して取得する docker search registry # 最初に検索することをお勧めします。関連画像を見ることができます。いつかもっと良い画像が見つかるかもしれません。docker pull registry # 最新のものは v2 なので、タグを追加する必要はありません。 レジストリコンテナの実行 docker run -d \ # バックグラウンドで実行 --name registry-srv \ # コンテナ名を指定します --restart=always \ # 自動起動を設定します -p 5000:5000 \ # ポートマッピングホスト、ホストアドレスを介してアクセスします -v /opt/zwx-registry:/var/lib/registry \ # 管理と永続性を容易にするために、イメージストレージディレクトリをローカルにマウントします -v /opt/zwx-registry/srv-config.yml:/etc/docker/registry/config.yml \ # レジストリの変更と保存を容易にするために、構成ファイルをローカルにマウントします srv-config.ymlの内容は次のとおりです。 赤でマークされた削除パラメータは、ウェアハウスが削除機能をサポートできるように true に設定されています。このパラメータはデフォルトでは使用できないため、リポジトリ イメージを削除することはできません。 バージョン: 0.1 ログ: フィールド: サービス: レジストリ ストレージ: 消去: 有効: true キャッシュ: blobdescriptor: メモリ内 ファイルシステム: ルートディレクトリ: /var/lib/registry http: 住所: :5000 ヘッダー: X-Content-Type オプション: [nosniff] 健康: ストレージドライバー: 有効: true 間隔: 10秒 閾値: 3 https プロトコルを登録します (そうしないと、プッシュ セキュリティ認証が失敗します) ローカルウェアハウスからイメージをダウンロードし、設定する必要があります。 vim /etc/docker/daemon.json # このファイルはデフォルトでは存在しないため、自分で追加する必要があります。存在する場合は、次の内容を追加します。 { "insecure-registries":["xx.xx.xx.xx:5000"] } # IP アドレスまたはドメイン名を指定します systemctl daemon-reload # デーモンを再起動します systemctl restart docker # Docker サービスを再起動 画像のアップロードとダウンロード docker push xx.xx.xx.xx:5000/nginx # 必ず倉庫のアドレスを指定してください。そうしないとエラーが報告されます。docker pull xx.xx.xx.xx:5000/nginx 倉庫ミラー情報を見る curl -XGET http://xx.xx.xx.xx:5000/v2/_catalog # リポジトリイメージリストを表示します (Windows ブラウザから開くこともできます) curl -XGET http://xx.xx.xx.xx:5000/v2/image_name/tags/list # 指定されたアプリケーションイメージタグを表示します 3. レジストリウェブを構築する まず画像を検索して取得する docker 検索 docker-registry-web docker pull hyper/docker-registry-web # このイメージは多くの人が使用しています レジストリウェブコンテナを実行する docker run -d \ # バックグラウンドで実行 --name registry-web \ # コンテナ名を指定します --restart=always \ # 自動起動を設定します -p 8000:8080 \ # ポートマッピングホスト、ホストアドレスを介してアクセスします -v /opt/zwx-registry/web-config.yml:/etc/config.yml \ # 簡単に変更および保存できるように、構成ファイルをローカルにマウントします hyper/docker-registry-web web-config.ymlファイルの内容は次のとおりです。 Web ページに削除ボタンを表示できるように、 red readonly パラメータが false に設定されています。デフォルトは true で、読み取り専用状態、削除ボタンなし、表示のみとなります。 レジストリ: # Docker レジストリ URL URL: http://10.88.77.32:5000/v2 # Docker レジストリ FQDN 名前: localhost:5000 # 画像の削除を許可するには false にする必要があります 読み取り専用: false 認証: # 認証を無効にする 有効: false デプロイが完了したら、ブラウザでリポジトリ UI アドレスを開いて、すべてのアプリケーション イメージを表示できます。 アプリケーション イメージ ライブラリを選択すると、イメージのすべてのタグ情報が表示されます。各タグの後に削除ボタンがあります (デフォルトでは削除ボタンはありません。設定については config.yml を参照してください)。 4. 迅速な展開 クラスター モードでは、Docker スタックを介してレジストリとレジストリ Web をすばやくデプロイできます。 新しい設定ファイル srv-config.yml と web-config.yml を作成し、指定されたパスに配置してから、新しい docker-compose.yml ファイルを作成し、コマンドを実行します。 docker スタックデプロイ -c docker-compose.yml RGT version: '3.7' # docker スタックはバージョン 3.0 以上である必要があります services: registry-srv: # サービス名image: registry ポート: #マップされたポート - 5000:5000 volumes: # イメージパスと設定ファイルをマウントします。変更したパスは実際のパスと一致している必要があります - /opt/zwx-registry:/var/lib/registry - /opt/zwx-registry/srv-config.yml:/etc/docker/registry/config.yml deploy: # 単一のタスクを設定し、マスターノードを実行モードに制限します: replicated レプリカ: 1 配置: 制約: - node.role == マネージャー registry-web: #サービス名イメージ: hyper/docker-registry-web ポート: # マッピングされたポート - 8000:8080 volumes: #設定ファイルをマウントします。変更したパスは実際のパスと一致している必要があります - /opt/zwx-registry/web-config.yml:/conf/config.yml 環境: - レジストリ URL = http://registry-srv:5000/v2 - レジストリ名=localhost:5000 deploy: # 単一のタスクを設定し、マスターノードを実行モードに制限します: replicated レプリカ: 1 配置: 制約: - node.role == マネージャー 要約する 以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。 以下もご興味があるかもしれません:
|
<<: MySQL デッドロック ルーチン: 一意のインデックスの下でのバッチ挿入順序の不一致
>>: GIFアニメーション効果を模倣した自動ビデオ再生を実現するWeChatアプレットの例
序文多くの場合、ユーザーが自分のデータに対して実行する操作に基づいて何かを行う必要があります。たとえ...
1998 年の CSS2 勧告の時点で、テーブルは徐々に舞台から消え、歴史の中に記録されるようになり...
目次質問再生暗黙的な変換要約する参照する質問仕事中、1 つの SQL クエリ ステートメントのみを実...
目次1. Linuxのビット数を確認する2. JDKをダウンロードする3. JDKをインストールする...
最近、プロジェクトを進める過程で、ページの階層構造を描画するために iframe を頻繁に使用する必...
背景: 最近、資産報告関連の機能に取り組んでおり、中国語入力をサポートする必要があります。通常のショ...
この記事では、CSS スクロールバー セレクターを紹介し、Webkit ブラウザーと IE ブラウザ...
MySQL 8.0.16で初回ログイン時のパスワードを変更する方法を紹介します。 MySQLデータベ...
この記事の例では、ページング効果を実現するためのvue+Elementの具体的なコードを参考までに共...
テーブルデータを作成する テーブル `praise_info` を作成します ( `id` bigi...
1) プロセス 2) FSImageと編集NodeNode は HDFS の頭脳です。ファイルシステ...
序文システムにファイル システムを作成し、それを永続的または非永続的にマウントする方法を学習します。...
WeChatアプレットuniappは左スワイプで削除効果を実現成果を達成する1. スワイプしてリス...
目次チュートリアルシリーズ1. ユーザー管理1. ユーザーアカウント2. アカウントの追加と削除3....
IE で ClearType をオンにした後に発生する透明フォントの問題を解決するには、透明要素に背...