首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

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

  • 25-03-05 12:22
  • 2502
  • 6127
blog.csdn.net

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

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

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

提交容器

使用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
  • 1
  • 2
  • 3
  • 4

查看刚创建的镜像

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

从新镜像运行容器

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:/# 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

将镜像保存为文件

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

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

使用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
    
    • 1
    • 2
    • 3
    • 4
  2. 运行镜像

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

写在后面的话

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

文章知识点与官方知识档案匹配,可进一步学习相关知识
云原生入门技能树容器(docker)安装docker19213 人正在系统学习中
注:本文转载自blog.csdn.net的gopyer的文章"https://blog.csdn.net/fuxily/article/details/139330100"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top