1. 程式人生 > 實用技巧 >Docker Error response from daemon,Docker 換映象

Docker Error response from daemon,Docker 換映象

Docker換映象,Docker pull、Docker search 失敗出現以下錯誤

Error response from daemon: Get https://index.docker.io/v1/search?q=php&n=25: net/http: TLS handshake timeout

Error response from daemon: Get https://index.docker.io/v1/search?q=php&n=25Service Unavailable

解決這個pull、search問題用以下幾個處理方式:

1. 更新配置:daemon.json

## 編輯檔案
vim /etc/docker/daemon.json

## 將以下內容複製到檔案中

{
"registry-mirrors": ["https://registry.docker-cn.com"]
}

  重啟Docker

systemctl restart docker

2. 調整DNS:resolv.conf

## 編輯檔案
vi /etc/resolv.conf
## 將以下內容複製到檔案中 nameserver
8.8.8.8 nameserver 8.8.8.4

  重啟network

## centos
systemctl restart network
## mac ifconfig en0 down ifconfig en0 up

  mac也可以這樣增加:點選Wi-Fi->高階->DNS->點選'+',增加"8.8.8.8","8.8.8.4",點選應用->完成。

3. 修改hosts:hosts

## 找到可用的IP地址,輸入以下命令:

dig @114.114.114.114 registry-1.docker.io
## 出現如下:

J-pro:~ will$ dig @114.114.114.114 registry-1.docker.io

; <<>> DiG 9.10.6 <<>> @114.114.114.114 registry-1.docker.io

; (1 server found)

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13913

;; flags: qr rd ra; QUERY: 1, ANSWER: 8, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:

; EDNS: version: 0, flags:; udp: 512

;; QUESTION SECTION:

;registry-1.docker.io. IN A

;; ANSWER SECTION:

registry-1.docker.io. 41 IN A 52.54.232.21

registry-1.docker.io. 41 IN A 52.72.232.213

registry-1.docker.io. 41 IN A 18.232.227.119

registry-1.docker.io. 41 IN A 34.195.246.183

registry-1.docker.io. 41 IN A 3.223.220.229

registry-1.docker.io. 41 IN A 3.224.175.179

registry-1.docker.io. 41 IN A 3.94.35.164

registry-1.docker.io. 41 IN A 52.4.20.24

;; Query time: 99 msec

;; SERVER: 114.114.114.114#53(114.114.114.114)

;; WHEN: Sun Jul 26 11:22:46 CST 2020

;; MSG SIZE rcvd: 177

  將上述IP找任意找一個輸入到hosts中

## 編輯hosts檔案
vi /etc/hosts ## 加入上述找到的可用IP地址 52.87.94.70 registry-1.docker.io
## 重新整理hosts source
/etc/hosts

4.如果上述的方法還是不行的話,請檢查以下有沒有使用一些代理抓包軟體,如:Charles。

 > 開啟Charles軟體,選中 macOs Proxy。再試試看,很有可能是代理的問題導致的網路連線不可用,甚至可能其他軟體也聯網不了。