8

「リモート プライベート Docker レジストリ」のセットアップに関するヒントが必要です。

Docker-Registry のREADME.mdは、主に同じホスト上で実行されているプラ​​イベート レジストリに焦点を当てており、他のマシンがリモートでアクセスする方法を指定していません (または複雑すぎて理解できない可能性があります)。

これまでのところ、これらのスレッドを見つけました:

Docker: 別のサーバーからのプライベート レジストリからのプルに関する問題 (まだオープン スレッドであり、解決策は提供されていません。Githubでさらに議論すると、プロキシに関するヒントが得られますが、それはどのように機能しますか?)

リモートのプライベート レジストリを作成します (探しているものに最も近いかもしれませんが、他のマシンからレジストリにアクセスするにはどのコマンドが必要ですか?)

独自のレジストリを使用する方法(繰り返しますが、これは同じホストでレジストリを実行することに焦点を当てています。他のマシンがアクセスできるようにポート 443 または 80 で実行することについて言及しましたが、詳細が必要です!)

手がかりが不足していますが、ご意見をいただければ幸いです。

4

2 に答える 2

7

これを参照して、リモートプライベートレジストリをセットアップできました: プライベートdocker-registryへのリモートアクセス

手順:

  1. レジストリ ホストで、実行します。docker run -p 5000:5000 registry
  2. クライアント ホストで、Docker サービスを開始docker -d --insecure-registry 10.11.12.0:5000します (10.11.12.0 を独自のレジストリ IP に置き換えます。プロセスをデーモン化して、シェルが閉じた後も引き続き実行されるようにすることもできます)。

編集: または、Docker の init スクリプト (RHEL/CentOS の場合は /etc/sysconfig/docker、Ubuntu/Debian の場合は /var/lib/docker) を編集できます。この行を追加other_args="--insecure-registry 10.11.12.0:5000"してから、service docker restart. これは、Docker プロセスをデーモン化するため、推奨される方法です。

さて、うまくいくか試してください:

  1. クライアントで、busybox イメージをダウンロードしますdocker pull busybox
  2. 新しいタグを付けてくださいdocker tag busybox 10.11.12.0:5000/busybox
  3. レジストリにプッシュするdocker push 10.11.12.0:5000/busybox
  4. プッシュを確認するdocker search 10.11.12.0:5000/busybox
  5. すべてのイメージを削除し、レジストリから取得しますdocker rmi busybox 10.11.12.0:5000:busybox docker pull 10.11.12.0:5000:busybox
  6. Rundocker imagesには、独自のリモート プライベート レジストリからプルしたばかりのイメージが含まれているはずです。
于 2014-11-05T22:04:16.993 に答える
2

次の方法でプライベート レジストリを使用します。

  • FQDN があります: docker.mycompany.com
  • 私が作成するすべてのイメージには、docker.mycompany.com/image1、docker.mycompany.com/image2 などの名前があります。

その後、すべてがシームレスに機能しています。

  • イメージをレジストリにプッシュします。

    docker push docker.mycompany.com/image1

  • イメージをプルして実行:

    docker run docker.mycompany.com/image2

于 2014-11-07T11:17:50.303 に答える