首頁 >運維 >Docker >如何解決docker不能push給http

如何解決docker不能push給http

WJ
WJ原創
2020-06-09 16:34:064450瀏覽

如何解決docker不能push給http

如何解決docker不能push給http?

系統環境:centos7

docker版本: 1.12.3(注意版本,可能有不同版本設定不同的情況)

docker registry版本:2.4.1

#問題:

成功安裝docker registry,在瀏覽器中輸入http://192.168.1.100:5000/v2,成功回傳json資料。當push 到docker registry時,報:

[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 registry未採用https服務所致。一種處理方式是把客戶對位址「192.168.1.100:5000」請求改為http。

目前很多文章都是透過修改docker的設定檔「etc/systemconfig/docker",重啟docker來解決這個問題。但發現docker1.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不能push給http的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn