告別Docker請求超時之一步步排查與詳細解決方案
docker運行系統(tǒng)
系統(tǒng):Ubuntu
問題現(xiàn)象
在ubuntu系統(tǒng)上面,安裝完Docker后,嘗試運行 docker run hello-world
來測試docker安裝是否成功的時候,報錯,報錯信息如下:
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'.
解決方案
對于這種連接超時的問題,網(wǎng)上有很多的解決方案,我也根據(jù)網(wǎng)上的解決方案嘗試了,但是有些處理方案不起作用,也在下面處理方案列出,希望對你們有所幫助。
1. 修改docker鏡像源 (本地修改后不行)
使用命令 sudo vim /etc/docker/daemon.json
(若文件不存在,會自動創(chuàng)建一個新的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地址有問題,可以嘗試修改該文件。
nameserver 114.114.114.114 nameserver 8.8.8.8
3. 獲取可用的鏡像源(成功拉取鏡像源)
以上方法都不起作用后,找了很久,終于找到一個可用的鏡像源
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拉取鏡像超時的實用的解決方案。我們首先分析了網(wǎng)絡(luò)連接問題、DNS配置錯誤以及代理設(shè)置等可能導(dǎo)致該錯誤的因素。接著,我們詳細講解了如何通過調(diào)整Docker配置文件、修改DNS選項以及檢查系統(tǒng)代理設(shè)置等方法來解決這一問題。
通過這些步驟,相信你已經(jīng)能夠有效地解決“Client.Timeout exceeded while awaiting headers”錯誤,讓你的Docker容器順利運行。掌握這些技巧,不僅能幫助你處理當(dāng)前的問題,也為你在未來面對類似挑戰(zhàn)時提供了有力的工具。
希望這篇教程對你有所幫助,助你在Docker的使用過程中更加得心應(yīng)手。謝謝閱讀,期待你的反饋!
到此這篇關(guān)于Docker請求超時排查與詳細解決方案的文章就介紹到這了,更多相關(guān)Docker請求超時排查與解決內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker命令讓普通用戶能夠執(zhí)行的實現(xiàn)
這篇文章主要介紹了Docker命令讓普通用戶能夠執(zhí)行的實現(xiàn)操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03docker 查看進程, 內(nèi)存, cup消耗的情況
這篇文章主要介紹了docker 查看進程, 內(nèi)存, cup消耗的情況,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03使用Docker創(chuàng)建FTP服務(wù)器的過程解析
這篇文章主要介紹了使用Docker創(chuàng)建FTP服務(wù)器的過程解析,使用?Docker?搭建?FTP?服務(wù),不僅十分簡單,而且可以對宿主機有一定的隔離,對Docker創(chuàng)建FTP服務(wù)器的過程感興趣的朋友一起看看吧2022-04-04Docker+nacos+seata1.3.0安裝與使用配置教程
這篇文章主要介紹了Docker+nacos+seata1.3.0安裝與使用配置教程,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-07-07Docker?Compose中如何限制容器的CPU和內(nèi)存使用
這篇文章主要為大家介紹了Docker?Compose中限制容器的CPU和內(nèi)存使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05詳解docker鏡像centos7配置Java運行環(huán)境
基于docker官網(wǎng)centos7鏡像配置java運行環(huán)境,自己安裝jdk和tomcat,解決docker容器與宿主機時間不一致問題2017-05-05