プライベートイメージウェアハウスを構築するためのDockerレジストリの実装方法

プライベートイメージウェアハウスを構築するためのDockerレジストリの実装方法

マイクロサービスのイメージは、保存用に Docker リポジトリにアップロードされます。一般的に使用されるパブリック Docker リポジトリには、Alibaba Cloud、NetEase Cloud などがあります。また、エンタープライズ LAN 内に独自の Docker プライベート リポジトリを構築することもできます。このチュートリアルでは、Docker が提供するプライベート リポジトリ レジストリを使用します。

1. プライベートウェアハウスイメージを取得する

docker プルレジストリ

2. プライベート倉庫コンテナを作成して起動する

docker run -dit -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name docker-registry レジストリ

パラメータの説明

  • -dit: コンテナ内で擬似端末を開いて対話型操作を行い、バックグラウンドで実行する
  • -v: データの永続性を実現するために、ホストの /data/registry ディレクトリをコンテナの /var/lib/registry ディレクトリ (このディレクトリは、レジストリ コンテナ内のイメージ ファイルが格納されるディレクトリ) にマウントします。
  • -p: ポートをマップし、ホストのポート 5000 にアクセスしてレジストリ コンテナ サービスにアクセスします。
  • --restart=always: これは再起動戦略です。コンテナが異常終了した場合、コンテナは自動的に再起動されます。
  • --name docker-registry: docker-registry という名前のコンテナを作成します。任意の名前を付けることができます。
  • レジストリ: プルされたイメージ


上記は、レジストリ イメージが作成され、docker-registry コンテナーが正常に起動されたことを示しています。 http://139.9.40.41:5000/v2/_catalog にアクセスすると、応答結果は次のようになります。

{"リポジトリ":[]}

上記の応答結果は、Docker プライベート リポジトリにイメージが存在しないことを示しています。

デフォルトでは、docker-registry はイメージの送信に https のみを許可します。次の設定により、docker-registry は http をサポートできるようになります。/etc/docker の下に daemon.json ファイルを作成し、次のように記述します。

{ 
 "安全でないレジストリ": [ "139.9.40.41:5000"]
}

3. Dockerを再起動する

systemctl dockerを再起動します

4. 画像をプライベート倉庫にアップロードする

このイメージをプライベートリポジトリイメージとしてマークする

docker タグ docker.io/hello-world 139.9.40.41:5000/hello-world:v1

タグ付き画像をアップロードする

docker push 139.9.40.41:5000/hello-world:v1 

すべての画像を一覧表示

[root@2 docker]# curl http://139.9.40.41:5000/v2/_catalog
{"リポジトリ":["hello-world"]}

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Dockerレジストリプライベートウェアハウスの構築プロセス
  • Dockerプライベートウェアハウスレジストリの導入
  • Docker はプライベート ウェアハウス (レジストリ、ハーバー) を構築します
  • Dockerプライベートウェアハウスレジストリの構築と検証の詳細説明
  • Dockerレジストリイメージを使用してプライベートリポジトリを作成する方法
  • Dockerレジストリイメージの削除とガベージコレクションの詳細な説明
  • Dockerレジストリプライベートイメージウェアハウスサービス導入事例デモ

<<:  MySQL 8のパスワードを忘れた場合のベストな対処法の簡単な分析

>>:  航空機戦争ゲームを実装するためのネイティブJS

推薦する

MySQL 8.0.15 圧縮版インストール グラフィック チュートリアル

この記事では、参考までにMySQL 8.0.15圧縮版のインストール方法を紹介します。具体的な内容は...

CSSの4種類の配置の違いの詳細な説明

フロントエンド開発でよく使われるCSSの配置方法は、位置決めには、通常位置決め、相対位置決め、絶対位...

MySQLシリーズのMariaDBサーバーのインストール

目次チュートリアルシリーズ1. yumパッケージマネージャーを使用してMariaDBサーバーをインス...

MySQL PXC は IST 送信のみで新しいノードを構築します (推奨)

需要シナリオ: 既存の PXC 環境には大量のデータがあります。新しく購入したサーバーをこのクラスタ...

詳細なハードウェア情報を取得するための Linux のいくつかのコマンドの詳細な説明

Linux システム、特にサーバー システムでは、デバイスのハードウェア情報を表示する必要がよくあり...

Vueのv-onパラメータの問題についてお話しましょう

Vue での v-on:clock の使用現在、vue.js フレームワークを学習しています。後で参...

Linux での Nginx アンチホットリンクと最適化の実装コード

バージョン番号を非表示バージョン番号は非表示になっていません。セキュリティを強化するために、バージョ...

JavaScriptプロトタイプとプロトタイプチェーンを徹底的に理解する

目次序文基礎を築くプロトタイプコンストラクタのプロパティ__プロト__プロトタイプチェーン改善する要...

純粋な CSS3+DIV で小さな三角形の境界線効果を実現するためのサンプル コード

具体的なコードは次のとおりです。 HTMLコードは次のとおりです <div class=&qu...

NodeJS は画像テキスト分割を実現します

この記事では、画像テキストセグメンテーションを実装するためのNodeJSの具体的なコードを参考までに...

MySQL 8.0 の統計が不正確である理由

序文Oracle であれ MySQL であれ、新バージョンで導入された新機能は、一方では製品の機能性...

MySQL における楽観的ロックと悲観的ロックの例

データベース管理システムにおける同時実行制御のタスクは、データベース内の同じデータに同時にアクセスす...

サーバーから返される14の一般的なHTTPステータスコードの詳細な説明

HTTP ステータス コードステータス コードは 3 桁の数字と理由フレーズ (最も一般的なもの: ...

安全な構成のためにDockerでTLSを有効にする手順

序文以前、Docker の 2375 Remote API を有効にしていました。会社のセキュリティ...

MySQLとSpringの自動コミットの詳細な説明

1 MySQLの自動コミット設定MySQL はデフォルトで自動的にコミットします。つまり、各 DML...