docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > Docker镜像迁移

将Docker镜像从服务器A迁移到服务器B的三种方法

作者:酒酿小圆子~

这篇文章主要介绍了将postgres:15镜像从服务器A传到服务器B的三种方法:推荐使用Docker Save和Load,通过DockerHub或私有仓库中转,适用于内网环境,每种方法涉及保存/传输/加载或推送步骤,注意权限及网络条件,需要的朋友可以参考下

在日常工作中,我们有时会需要将服务器 A上的镜像上传至服务器B上,下面给出具体操作方式,以镜像 postgres:15 为例进行讲解。

首先在服务器A上拉取 镜像 postgres:15 ,命令如下:

docker pull postgres:15

下面再将服务器A上的postgres:15镜像上传至服务器B,主要有以下几种方式:

方法1:使用 Docker Save 和 Load(推荐)

docker save -o postgres15.tar postgres:15
scp postgres15.tar user@serverB:/path/to/destination
docker load -i postgres15.tar

注意:这里可能出现报错:

permission denied while trying to connect to the Docker daemon socket >at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.44/images/load?quiet=0": dial >unix /var/run/docker.sock: connect: permission denied

解决方式:使用 sudo 权限执行 docker load 命令

sudo docker load -i postgres15.tar
docker images

方法2:使用 Docker Hub 作为中转

docker login
docker tag postgres:15 yourusername/postgres:15
docker push yourusername/postgres:15
docker pull yourusername/postgres:15

方法3:使用私有仓库中转(内网环境)

如果你有私有Docker仓库(如Harbor等):

docker tag postgres:15 your-registry.com/your-project/postgres:15
docker push your-registry.com/your-project/postgres:15
docker pull your-registry.com/your-project/postgres:15

注:私有仓库中转的方式很适合于服务器无法连接外网的情况,通过内部网络(私有仓库)进行中转。

以上就是将Docker镜像从服务器A迁移到服务器B的三种方法的详细内容,更多关于Docker镜像迁移的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:
阅读全文