如何解決docker不能push給http?
系統環境:centos7docker版本:?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:ProgramDatadockerconfig”。可以在該目錄下創建”daemon.json“文件,解決此問題。
相關參考:docker教程
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦