1. サーバー A を準備します (Docker がインストールされている、IP: 192.168.39.111)
2. サーバー A でレジストリ コンテナーを実行して構築します
docker run -itd -v /my_registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest
パラメータの説明:
-itd: 対話型操作のためにコンテナ内で疑似ターミナルを開き、バックグラウンドで実行します;
-v: ホストの /data/registry を変更します ディレクトリはバインドされていますデータの永続性を実現するために、container/var/lib/registry ディレクトリ (このディレクトリはレジストリ コンテナにイメージ ファイルが保存されるディレクトリです) にコピーします;
-p: マップ ポート; ホストの 5000 にアクセスします。レジストリ コンテナのサービスにアクセスします;
--restart=always: これは再起動戦略です。コンテナが異常終了した場合、コンテナは自動的に再起動されます;
--name registry:コンテナーの名前は「registry」です。任意の名前を付けることができます。
registry:latest: これは、取得したばかりのイメージです。
(推奨チュートリアル: docker チュートリアル)
3. ローカル ホスト B で「安全でないレジストリ」を構成します。つまり、http 接続 (docker がインストールされている、IP: 192.168.39.215)
daemon.json ファイルを編集します。デフォルトの場所 /etc/docker/daemon.json は、Linux または C:\ProgramData\docker\config\daemon.jsonWindows Server 上にあります。 Docker Desktop for Mac または Docker Desktop for Windows を使用する場合は、Docker アイコンをクリックし、[設定]、[デーモン] の順に選択します。
daemon.json ファイルが存在しない場合は、作成してください。次の内容を追加した後、systemctl restart docker を再起動します
ファイルに他の設定がないと仮定すると、次の内容が含まれるはずです:
{ "insecure-registries" : ["myregistrydomain.com:5000"] }
4. ローカル ホスト B## でプッシュとプルをテストします
#(1) 最初にイメージをマークします (マークには IP を追加する必要があります。追加しないとエラーが報告されます): docker tag sexybox 192.168.39.111:5000/bbx:v1 (2) をプッシュします。画像: docker pull 192.168.39.111:5000 /bbx:v1 (3) 2 番目のステップが成功したら、それをプルダウンできます: docker pull 192.168.39.111:5000/bbx:v1要約: 設定に注意してください 「安全でないレジストリ」は、ミラー サーバー側ではなく、プッシュ側で設定されています。
以上がDocker プライベート イメージ サーバーを構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。