Docker 镜像加速访问的几种方法
作者:Just_Paranoid
在数字化时代,Docker以其轻量级和便捷性成为开发者和运维人员的首选容器技术。然而自2023年5月中旬起,Docker Hub
的访问速度较慢或不稳定,这对依赖Docker Hub拉取镜像的用户来说无疑是一个挑战。本文将提供 Docker Hub 访问的一系列替代方案,以帮助用户克服这一障碍。
1. 使用国内镜像源
你可以通过配置Docker的daemon.json
文件来使用国内的镜像源,这样可以加快镜像的下载速度。以下是一些可用的国内镜像源:
- DaoCloud 镜像站:https://docker.m.daocloud.io
- 网易云:https://hub-mirror.c.163.com
- 百度云:https://mirror.baidubce.com
- 南京大学镜像站:https://docker.nju.edu.cn
还有一些代理或三方的镜像源,在最新的更新中被标记为正常工作。不过,实际速度可能会因地区、网络条件以及镜像源的负载情况而有所不同。建议可以根据自己的实际情况,选择一个或几个进行测试,以确定哪个镜像源在您所在地区的速度最快。
- docker.unsee.tech
- dockerpull.org
- docker.1panel.live
- dockerhub.icu
配置方法如下:
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [ "https://docker.m.daocloud.io", "https://hub-mirror.c.163.com", "https://mirror.baidubce.com", "https://docker.nju.edu.cn" ] } EOF sudo systemctl daemon-reload sudo systemctl restart docker
配置完成后,可以使用 docker pull
命令测试是否能成功拉取镜像。
对于DaoCloud 镜像加速站还可以增加前缀(推荐):
https://github.com/DaoCloud/public-image-mirror
k8s.gcr.io/coredns/coredns => m.daocloud.io/k8s.gcr.io/coredns/coredns
2. 使用一键脚本拉取镜像
如果你不想修改配置文件,可以使用一键脚本事先拉取相应的镜像。例如:
bash -c "$(curl -fsSL https://cn.bbc.us.kg/docker-pull.sh)" -- <镜像名称>
例如拉取nginx镜像:
bash -c "$(curl -fsSL https://cn.bbc.us.kg/docker-pull.sh)" -- nginx:latest
这种方式适合临时使用,大量使用还是建议配置国内镜像源。
3. 镜像导出与导入
如果你在一个服务器上已经成功拉取了所需的镜像,可以将其导出并在其他服务器上导入。以下是导出和导入镜像的命令:
导出镜像到文件:
docker save -o <path for generated tar file> <image name>
例如:
docker save -o nginx.tar nginx
将镜像文件复制到其他服务器并导入:
docker load -i <path for tar file>
例如:
docker load -i nginx.tar
这种方式在项目部署中非常方便使用,但镜像文件可能较大,复制和迁移时会稍显麻烦。
到此这篇关于Docker 镜像加速访问的几种方法的文章就介绍到这了,更多相关Docker 镜像加速访问内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!