告別Docker請(qǐng)求超時(shí)之一步步排查與詳細(xì)解決方案
docker運(yùn)行系統(tǒng)
系統(tǒng):Ubuntu
問(wèn)題現(xiàn)象
在ubuntu系統(tǒng)上面,安裝完Docker后,嘗試運(yùn)行 docker run hello-world
來(lái)測(cè)試docker安裝是否成功的時(shí)候,報(bào)錯(cuò),報(bào)錯(cuò)信息如下:
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers). See 'docker run --help'.
解決方案
對(duì)于這種連接超時(shí)的問(wèn)題,網(wǎng)上有很多的解決方案,我也根據(jù)網(wǎng)上的解決方案嘗試了,但是有些處理方案不起作用,也在下面處理方案列出,希望對(duì)你們有所幫助。
1. 修改docker鏡像源 (本地修改后不行)
使用命令 sudo vim /etc/docker/daemon.json
(若文件不存在,會(huì)自動(dòng)創(chuàng)建一個(gè)新的daemon.json
文件),替換文件中的鏡像源信息
{ "registry-mirrors": ["https://docker.registry.cyou", "https://docker-cf.registry.cyou", "https://dockercf.jsdelivr.fyi", "https://docker.jsdelivr.fyi", "https://dockertest.jsdelivr.fyi", "https://mirror.aliyuncs.com", "https://dockerproxy.com", "https://mirror.baidubce.com", "https://docker.m.daocloud.io", "https://docker.nju.edu.cn", "https://docker.mirrors.sjtug.sjtu.edu.cn", "https://docker.mirrors.ustc.edu.cn", "https://mirror.iscas.ac.cn"] }
修改后需重新docker服務(wù)
sudo systemctl daemon-reload sudo systemctl restart docker
檢查是否生效:查看docker系統(tǒng)信息 docker info,查看 registry mirror 中剛配置的內(nèi)容地址。
2. 修改DNS服務(wù)配置
- 查看DNS服務(wù)配置,
/etc/resolv.conf
cat /etc/resolv.conf
- 查看nameserver后面IP地址信息,或者顯示的IP地址有問(wèn)題,可以嘗試修改該文件。
nameserver 114.114.114.114 nameserver 8.8.8.8
3. 獲取可用的鏡像源(成功拉取鏡像源)
以上方法都不起作用后,找了很久,終于找到一個(gè)可用的鏡像源
https://docker.rainbond.cc/
將上述信息添加到damon.json
文件中,然后重啟服務(wù),docker run hello-world
嘗試?yán)$R像,成功。
Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world c1ec31eb5944: Pull complete Digest: sha256:d211f485f2dd1dee407a80973c8f129f00d54604d2c90732e8e320e5038a0348 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/ For more examples and ideas, visit: https://docs.docker.com/get-started/
總結(jié):
在這篇博客中,提供了一系列處理Docker拉取鏡像超時(shí)的實(shí)用的解決方案。我們首先分析了網(wǎng)絡(luò)連接問(wèn)題、DNS配置錯(cuò)誤以及代理設(shè)置等可能導(dǎo)致該錯(cuò)誤的因素。接著,我們?cè)敿?xì)講解了如何通過(guò)調(diào)整Docker配置文件、修改DNS選項(xiàng)以及檢查系統(tǒng)代理設(shè)置等方法來(lái)解決這一問(wèn)題。
通過(guò)這些步驟,相信你已經(jīng)能夠有效地解決“Client.Timeout exceeded while awaiting headers”錯(cuò)誤,讓你的Docker容器順利運(yùn)行。掌握這些技巧,不僅能幫助你處理當(dāng)前的問(wèn)題,也為你在未來(lái)面對(duì)類(lèi)似挑戰(zhàn)時(shí)提供了有力的工具。
希望這篇教程對(duì)你有所幫助,助你在Docker的使用過(guò)程中更加得心應(yīng)手。謝謝閱讀,期待你的反饋!
到此這篇關(guān)于Docker請(qǐng)求超時(shí)排查與詳細(xì)解決方案的文章就介紹到這了,更多相關(guān)Docker請(qǐng)求超時(shí)排查與解決內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker命令讓普通用戶能夠執(zhí)行的實(shí)現(xiàn)
這篇文章主要介紹了Docker命令讓普通用戶能夠執(zhí)行的實(shí)現(xiàn)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03docker 查看進(jìn)程, 內(nèi)存, cup消耗的情況
這篇文章主要介紹了docker 查看進(jìn)程, 內(nèi)存, cup消耗的情況,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03在沒(méi)有Docker緩存的情況下構(gòu)建鏡像的方法分享
這篇文章主要給大家介紹了如何在沒(méi)有Docker緩存的情況下構(gòu)建鏡像的解決方法,文章通過(guò)代碼示例介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2023-07-07使用Docker創(chuàng)建FTP服務(wù)器的過(guò)程解析
這篇文章主要介紹了使用Docker創(chuàng)建FTP服務(wù)器的過(guò)程解析,使用?Docker?搭建?FTP?服務(wù),不僅十分簡(jiǎn)單,而且可以對(duì)宿主機(jī)有一定的隔離,對(duì)Docker創(chuàng)建FTP服務(wù)器的過(guò)程感興趣的朋友一起看看吧2022-04-04Docker+nacos+seata1.3.0安裝與使用配置教程
這篇文章主要介紹了Docker+nacos+seata1.3.0安裝與使用配置教程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-07-07Docker?Compose中如何限制容器的CPU和內(nèi)存使用
這篇文章主要為大家介紹了Docker?Compose中限制容器的CPU和內(nèi)存使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05詳解docker鏡像centos7配置Java運(yùn)行環(huán)境
基于docker官網(wǎng)centos7鏡像配置java運(yùn)行環(huán)境,自己安裝jdk和tomcat,解決docker容器與宿主機(jī)時(shí)間不一致問(wèn)題2017-05-05Docker 搭建lamp應(yīng)用實(shí)例詳解
這篇文章主要介紹了Docker 搭建lamp應(yīng)用實(shí)例詳解的相關(guān)資料,這里對(duì)搭建 LAMP的步驟做了詳細(xì)介紹,需要的朋友可以參考下2016-11-11FastAPI 部署在Docker的詳細(xì)過(guò)程
這篇文章主要介紹了FastAPI 部署在 Docker的詳細(xì)過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-10-10