一.现象描述 在docker拉取镜像的时候重复拉取镜像然后超时报错。
二.解决办法
- Docker镜像源问题,更换镜像源 Docker镜像通常存储在镜像仓库中,例如Docker Hub。检查镜像源是否可用,可以尝试使用浏览器访问镜像源网站,例如hub.docker.com,确认是否能够正常访问。如果镜像源不可用,可以尝试切换到其他可靠的镜像源。推荐使用下面的镜像源
{
"registry-mirrors": [
"https://docker.1panel.live",
"https://dc.j8.work",
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn"
]
}
配置文件地址在:/etc/docker/daemon.json,没有daemon.json就新建一个,配置完成后执行下面的命令重启docker
sudo systemctl daemon-reload
sudo systemctl restart docker
2.Docker镜像物理下载和加载 要将一个Docker镜像从一个服务器物理下载并传输到另一个服务器上,然后运行,你可以按照以下步骤操作:
要将一个Docker镜像从一个服务器物理下载并传输到另一个服务器上,然后运行,你可以按照以下步骤操作:
-
在A服务器上保存镜像为tar文件: 使用
docker save命令将镜像保存为tar文件。例如,如果你的镜像名为my-mysql-image,你可以使用以下命令:sh docker save my-mysql-image -o /path/to/save/my-mysql-image.tar -
将tar文件传输到B服务器: 使用
scp命令将tar文件从A服务器复制到B服务器。假设B服务器的用户名为user,IP地址为192.168.1.2,你可以使用以下命令:sh scp /path/to/save/my-mysql-image.tar user@192.168.1.2:/path/to/destination -
在B服务器上加载tar文件为镜像: 使用
docker load命令将传输过来的tar文件加载为Docker镜像:sh docker load -i /path/to/destination/my-mysql-image.tar -
运行Docker镜像: 使用
docker run命令来运行加载的镜像。例如,如果你想以交互模式运行并映射端口,可以使用以下命令:sh docker run -d -p 3306:3306 --name my-mysql-container my-mysql-image这里
-d表示后台运行,-p 3306:3306表示将容器的3306端口映射到宿主机的3306端口,--name my-mysql-container为容器指定一个名称。 -
验证容器运行情况: 使用
docker ps查看正在运行的容器列表,确保你的MySQL容器正在运行。
当然这种方法需要一台机器上已经有你要的镜像,可以让朋友同事给你传一下。这里分享一些常用的镜像,需要的可以去下载
链接:pan.baidu.com/s/1BD7lHzmT… 提取码:tzww