本文最后更新于 247 天前,其中的信息可能已经有所发展或是发生改变。
前言
今天,就我最近遇到的问题分享一下docker镜像部署的经验。我想要在云服务器上部署moerats/express-ffmpeg
这个docker镜像,但却遗憾的发现,似乎无法直接连接到docker hub下载
于是,我了解到,docker镜像不止可以使用Hub上的,也可以使用自己打包的镜像,于是,我们可以使用另一台可以连接到外网的机器,下载镜像并save成tar文件,上传并导入本地镜像。
具体操作
C:\Users\morefine>docker pull moerats/express-ffmpeg
Using default tag: latest
latest: Pulling from moerats/express-ffmpeg
9cc2ad81d40d: Pull complete
e6cb98e32a52: Pull complete
ae1b8d879bad: Pull complete
42cfa3699b05: Pull complete
053cac798c4e: Pull complete
e11ff976ff71: Pull complete
81d72bab54a7: Pull complete
fcefcb4d99e7: Pull complete
592d9f42009b: Pull complete
ce856dc9b932: Pull complete
d9923fa7208c: Pull complete
Digest: sha256:3cafc15d21892b6576250763c7ea2fba64f92ff7b79604d26e7f10496da3db6a
Status: Downloaded newer image for moerats/express-ffmpeg:latest
docker.io/moerats/express-ffmpeg:latest
C:\Users\morefine>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
itzg/minecraft-server java8 4bd6d9b9badc 5 weeks ago 313MB
itzg/minecraft-server latest c41ced7cf091 5 weeks ago 903MB
moerats/express-ffmpeg latest a09c659a5337 3 years ago 1.64GB
C:\Users\morefine>docker save -o express-ffmpeg.tar a09c659a5337
接着,上传这个tar文件到你的服务器上,这里使用宝塔(centos7.9)
docker load -i express-ffmpeg.tar
如何———这样就可以使用了。
其他方法
当然了,如果你的服务器可以连接到外网,只是单纯无法连接到docker.io镜像源,你可以考虑使用腾讯等的加速源,如果在宝塔上下载镜像,最好不要使用管理器的下载,而是用命令行,否则会出现你不知道下载进度无法判断是否在下载还是卡住了的情况,建议使用命令:
docker pull <你需要的镜像名>
下面以腾讯镜像加速配置举例:(如未配置镜像加速源,直接拉取 DockerHub 中的镜像,通常下载速度会比较慢。)官方文档
1.执行以下命令,打开 /etc/docker/daemon.json
配置文件。
vim /etc/docker/daemon.json
2.按 i 切换至编辑模式,添加以下内容,并保存。
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com"
]
}
3.执行以下命令,重启 Docker 即可。示例命令以 CentOS 7 为例。
sudo systemctl restart docker
总结
以上就是我有关docker镜像无法下载,损坏问题的一些想法,望各位大佬勿喷。
可以