ホームページ  >  記事  >  運用・保守  >  docker が http にプッシュできない問題を解決する方法

docker が http にプッシュできない問題を解決する方法

WJ
WJオリジナル
2020-06-09 16:34:064423ブラウズ

docker が http にプッシュできない問題を解決する方法

docker が http にプッシュできない問題を解決するにはどうすればよいですか?

システム環境: centos7

docker バージョン: 1.12.3 (バージョンに注意してください。バージョンによって設定が異なる場合があります)

docker レジストリバージョン :2.4.1

質問:

docker レジストリが正常にインストールされ、ブラウザに http://192.168.1.100:5000/v2 と入力され、json データが正常に返されました。 docker レジストリにプッシュすると、次のレポートが表示されます:

[root@master sysconfig]# docker push 192.168.1.100:5000/registry:2.4.1The push refers to a repository [192.168.1.100:5000/registry]
Get https://192.168.1.100:5000/v1/_ping: http: server gave HTTP response to HTTPS client

この問題は、クライアントが https を使用し、docker レジストリが https サービスを使用していないことが原因である可能性があります。これに対処する 1 つの方法は、クライアントのアドレス「192.168.1.100:5000」のリクエストを http に変更することです。

現在、多くの記事では、docker 構成ファイル「etc/systemconfig/docker」を変更し、docker を再起動することでこの問題を解決しています。ただし、docker バージョン 1.12.3 にはこのファイルがないことがわかり、オンラインでこのファイルを作成し、対応する内容を入力しましたが、docker を再起動しても効果がなく、このエラーは依然として報告されました。

解決策:

「/etc/docker/」ディレクトリに「daemon.json」ファイルを作成します。ファイルに次のように書き込みます:

{ "insecure-registries":["192.168.1.100:5000"] }

保存して終了した後、docker を再起動します。問題は解決しました:

[root@master docker]# docker push 192.168.1.100:5000/registry:2.4.1The push refers to a repository [192.168.1.100:5000/registry]
ee8e809cfde5: Pushed
ba20d499f984: Pushed
705e35f12f24: Pushed
42755cf4ee95: Pushed2.4.1: digest: sha256:b66c4af9577744ae6d32e975808230e2ff558a5d50a7968d5102a900e147f3d5 size: 1158

window Server 2016 では、デフォルトのインストール Docker 構成ファイルは「C:\ProgramData\docker\config\」にあります。この問題を解決するには、このディレクトリに「daemon.json」ファイルを作成します。

関連資料:docker チュートリアル

以上がdocker が http にプッシュできない問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。