プライベートDockerレジストリにリモートアクセスするにはどうすればいいですか? 質問する

プライベートDockerレジストリにリモートアクセスするにはどうすればいいですか? 質問する

次の場所から取得したイメージを使用して、プライベート Docker レジストリをセットアップしようとしています。レジストリ

実行するだけ:
docker run -p 5000:5000 registry

このリポジトリへのプル/プッシュはローカルホストからのみ可能ですが、別のマシンからアクセスしようとすると (同じ LAN 上のプライベート アドレスを使用)、エラー メッセージが表示されて失敗します。

*2014/11/03 09:49:04 Error: Invalid registry endpoint https ://10.0.0.26:5000/v1/': 
Get https:// 10.0.0.26:5000/v1/_ping: Forbidden. If this private 
registry supports only HTTP or HTTPS with an unknown CA certificate,
please add `--insecure-registry 10.0.0.26:5000` to the daemon's 
arguments. In the case of HTTPS, if you have access to the registry's
CA certificate, no need for the flag; simply place the CA certificate 
at /etc/docker/certs.d/10.0.0.26:5000/ca.crt*

curl 10.0.0.26:5000私が困惑しているのは、次のようにして正常にアクセスできることです。curl 10.0.0.26:5000/v1/search

また、旗をどこにどのように渡せばいいのかもわかりません--insecure-registry

ベストアンサー1

OK、1日かけて調べた結果、この問題の解決策を見つけました。

1.12.1 未満の docker の場合:

新しいクライアント バージョンは、SSL のないプライベート レジストリでは動作しないことが判明しました。

これを修正するには、クライアント マシン上のデーモンを insecure フラグ付きで起動する必要があります。

次のように入力してください:

sudo service docker stop # to stop the service

その後

sudo docker -d --insecure-registry 10.0.0.26:5000

( を10.0.0.26自分の IP アドレスに置き換えてください)。

docker の担当者が pull/push コマンドラインにこのオプションを追加することを期待しています...

DOCKER_OPTS編集 - 代わりに、 /etc/default/docker内の環境変数にフラグを追加して、sudo service docker restart

再度編集 - Docker の担当者が対応しているようで、すぐに修正が行われます。https://github.com/docker/docker/pull/8935

docker 1.12.1の場合:

vikas027 の回答を以下に従ってください (centos に有効)

おすすめ記事