Docker-镜像复制与重载

本文介绍了如何使用Docker的Dockersave命令将镜像保存为文件,以及如何通过Dockerload命令从文件加载镜像,以实现在不同服务器间复制镜像的目的。在没有公网连接或不希望搭建私有仓库的情况下,这是一种实用的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、使用背景

我们制作好镜像后,有时需要将镜像复制到另一台服务器使用。

能达到以上目的有两种方式,一种是上传镜像到仓库中(本地或公共仓库),但是另一台服务器很肯能只是与当前服务器局域网想通而没有公网的,所以如果使用仓库的方式,只能自己搭建私有仓库。

如果我们仅仅是要复制到另外少数的服务器,搭建私有仓库显然没有这个必要,而将镜像保存为文件上传到其他服务器再从文件中载入镜像也是一个不错的选择。

可以使用Docker save和Docker load命令来存储和载入镜像。

2、保存镜像为文件

如果要讲镜像保存为本地文件,可以使用Docker save命令。

命令格式:

# 用法
docker save -o 要保存的文件名 要保存的镜像

# 例如:
docker save -o halo.tar registry.zjc123.cn/halo:latest

首先查看当前的镜像列表:

docker images

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IjNWbQZU-1631454836929)(/Users/zhengshangjin/Library/Mobile Documents/iCloudappcyan~taio/Documents/Editor/PersonalNotes/技术文章/Docker/image-20210722115011961.png)]

比如这里,我们将halo的镜像保存为文件:

docker save -o halo.tar halohub/halo

完成后在当前目录通过 ls 命令即可看到文件。

3、从文件载入镜像

从文件载入镜像可以使用Docker load命令。

命令格式:

docker load --input 文件

或者

docker load < 文件名

此时会导入镜像以及相关的元数据信息等。

首先使用SSH工具将文件上传到另一台服务器。

然后通过命令载入镜像:

docker load < halo.tar

导入后可以使用docker images命令查看是否成功,已经存在。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值