在ubuntu下搭建的docker registry,ip 192.168.4.134 ubuntu1804
(之前遇到http: server gave HTTP response to HTTPS client 的報錯,也已經解決)
本機測驗可以成功從registry來pull和push
sudo docker pull 192.168.4.134:5000/busybox
但是換一臺內網其它機器192.168.4.129 centos7
就一直無法成功:
docker pull 192.168.4.134:5000/busybox
之前以為是https的原因,修改了vim /usr/lib/systemd/system/docker.service #centos中,并重啟了
sudo docker stop private_registry
sudo docker rm private_registry
執行pull仍報錯
Error response from daemon: Get http://192.168.4.134:5000/v2/: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
內網回應超時?
嘗試在4.134 registry這臺上查看日志:
sudo docker logs private_registry
只有curl的日志,沒有來pull的任何日志,似乎網路上都沒過來。
在4.129上嘗試 獲取 4.134上的registry串列:
$curl -XGET http://192.168.4.134:5000/v2/_catalog
{"repositories":["busybox"]}
是成功的!
telnet 192.168.4.134 5000
也是通的。
但執行docker pull 192.168.4.134:5000/busybox就是提示超時。
把兩邊的防火墻都關了的
centos:
iptables -F
ubuntu:
sudo ufw status
Status: inactive
~~~~~~~~~~~~~~~~
后來又嘗試在registry端添加了用戶名密碼:
docker login 192.168.4.134:5000
Username: username
Password:
Error response from daemon: Get http://192.168.4.134:5000/v2/: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
仍然是這個報錯。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[size=18px]求助各位老板:這個可能是什么問題?應該怎么排查?[/size]
uj5u.com熱心網友回復:
在你的其它機器上的/etc/docker/daemon.json檔案里面添加"insecure-registries":["鏡像倉庫IP"]試試呢還有 push走的是https,不是http,所以我想你其它機器push的時候默認用的https 所以你添加了上面的內容后重啟docker應該就可以了
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/20600.html
標籤:Docker
