如何对Docker容器进行备份和迁移

容器化技术的出现,极大地方便了我们的开发和运维工作,在使用容器的时候,有时候我们需要将容器进行备份,本文详细的来介绍一下如何对容器进行备份、迁移等。

下面启动一个ubuntu容器为例进行说明

jagitch@jagitch-MS-7B93:~$ docker run -itd \
--name my-ubuntu ubuntu bash
2fdca5d71232ab95cd3d4fa5d275a05585bf8a98a37eb0e214f904e066e3e78c

提交容器

使用docker commit命令可以将一个docker容器创建为镜像(image)

jagitch@jagitch-MS-7B93:~$ docker commit -m \
"my-ubuntu backup 2024-05-30" -a "jagitch" \
my-ubuntu myubuntu:v0.1
sha256:82b703fc495ceb4f562bdc25db59af6d41548034aadd5c19306a0e4f61f12709

查看刚创建的镜像

jagitch@jagitch-MS-7B93:~$ docker images | grep v0.1
myubuntu                     v0.1      82b703fc495c   18 minutes ago       113MB

从新镜像运行容器

jagitch@jagitch-MS-7B93:~$ docker run -itd \
--name my-ubuntu-v0.1 myubuntu:v0.1 bash
984977a45a1047ed459622e0d3d5b4610b8307fcdd4ae24e96121ae30e55f82c

jagitch@jagitch-MS-7B93:~$ docker exec -it my-ubuntu-v0.1 bash
root@984977a45a10:/# 

将镜像保存为文件

我们可以将镜像保存为文件,便于镜像的保存和传输,我们可以把镜像传输到新电脑,然后在新机上运行该镜像,相当于做了系统迁移,这比虚拟机真的方便了很多。

jagitch@jagitch-MS-7B93:~$ docker save myubuntu:v0.1 \
| gzip > myubuntu_v0.1.tar.gz

使用gzip压缩后,镜像文件大小减少了1倍

将镜像文件还原成Docker镜像

当我们的容器不小心被删除,或者想将我们的容器迁移到别的电脑上运行时,我们就可以从镜像文件中还原镜像,然后从镜像再创建出我们的容器(容器的状态是从容器创建镜像时的状态,为了不丢失我们的容器数据,可定期将容器导出为镜像文件保存)。

  1. 还原镜像

    jagitch@jagitch-MS-7B93:~$ docker load < myubuntu_v0.1.tar.gz
    Loaded image: myubuntu:v0.1
    jagitch@jagitch-MS-7B93:~$ docker images | grep myubuntu
    myubuntu                     v0.1      82b703fc495c   34 minutes ago   113MB
    
  2. 运行镜像

    jagitch@jagitch-MS-7B93:~$ docker run -itd \
    --name my-ubuntu-v0.1 myubuntu:v0.1 bash
    7c81fd3983b9074b1d5b10319ec5b121d8e1445b104fae9176712e778a78222b
    

写在后面的话

除了将镜像导出为文件进行保存,我们也可以将镜像提交到镜像仓库(这需要一定的花费),免费的一般只能提交公开的镜像,因此,如果我们的镜像包含了一些隐私数据,则建议通过保存为文件的方式进行保存。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gopyer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值