Docker拉取容器鏡像超時的問題解決辦法
【問題】
在 2024年6月,由于非常隱晦的原因,國內各大容器鏡像服務提供方限制或關閉服務。這導致了在大陸的 IT 工程師拉取鏡像時出現(xiàn)超時的情況,無疑對工作產生了很大的影響。
【解決】
方案一:配置 Docker 鏡像加速器
針對 Docker 客戶端版本大于 1.10.0 的用戶 您可以通過修改 daemon 配置文件 /etc/docker/daemon.json
來使用加速器:
如果在拉取鏡像時發(fā)現(xiàn)又超時了,可以嘗試繼續(xù)更換其他鏡像加速器地址。
sudo vim /etc/docker/daemon.json # 添加以下內容 { "registry-mirrors": [ "https://docker.1ms.run/", "https://hub.rat.dev/", "https://docker.1panel.live/", "https://docker.m.daocloud.io/" ] } sudo systemctl daemon-reload sudo systemctl restart docker
方案二:配置代理,拉取鏡像
已經使用 Docker 鏡像加速器時,無需配置代理。
創(chuàng)建配置文件:
sudo mkdir -p /etc/systemd/system/docker.service.d sudo vim /etc/systemd/system/docker.service.d/http-proxy.conf
添加配置:
[Service] Environment="HTTP_PROXY=socks5://user:pass@127.0.0.1:1080" Environment="HTTPS_PROXY=socks5://user:pass@127.0.0.1:1080"
重啟 Docker:
sudo systemctl daemon-reload sudo systemctl restart docker
查看環(huán)境變量:
sudo systemctl show --property=Environment docker
方案三:通過中介設備傳送鏡像
使用一臺能夠正常拉取 Docker Hub 鏡像的設備,將鏡像拉取到本地,然后傳送到無法拉取鏡像的設備上。
例如以下示例中規(guī)定:A 設備可以正常拉取 Docker Hub 鏡像,B 設備無法拉取 Docker Hub 鏡像。示例中將 mysql:8.0.33 鏡像從 A 設備傳送至 B 設備。
- A 設備壓縮鏡像
在 A 設備中的 a-demo 目錄下,將 mysql:8.0.33 鏡像保存為 mysql:8.0.33.tar。壓縮后的 tar 文件會被保存在執(zhí)行命令的當前目錄下:
docker save mysql:8.0.33 > mysql:8.0.33.tar
- A 設備傳送鏡像至 B 設備的 /b-demo 目錄下
sftp root@[ip] put /Users/hayden/Desktop/a-demo/mysql:8.0.33.tar /b-demo/
- B 設備加載鏡像:
docker load < mysql:8.0.33.tar
總結
到此這篇關于Docker拉取容器鏡像超時問題解決辦法的文章就介紹到這了,更多相關Docker拉取容器鏡像超時內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
docker-compose部署MySQL8的實現(xiàn)
本文主要介紹了docker-compose部署MySQL8的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-11-11