概述

 今天,我们将学习如何快速地对docker容器进行快捷备份、恢复和迁移。Docker是一个开源平台,用于自动化部署应用,
以通过快捷的途径在称之为容器的轻量级软件层下打包、发布和运行这些应用。它使得应用平台独立,因为它扮演了Linux
上一个额外的操作系统级虚拟化的自动化抽象层。它通过其组件cgroups和命名空间利用Linux内核的资源分离特性,
达到避免虚拟机开销的目的。它使得用于部署和扩展web应用、数据库和后端服务的大规模构建组件无需依赖于特定的
堆栈或供应者。

所谓的容器,就是那些创建自Docker镜像的软件层,它包含了独立的Linux文件系统和开箱即用的应用程序。如果我们有
一个在机器中运行着的 Docker容器,并且想要备份这些容器以便今后使用,或者想要迁移这些容器,那么,本教程将帮助
你掌握在Linux操作系统中备份、恢复和迁移 Docker容器的方法。

我们怎样才能在Linux中备份、恢复和迁移Docker容器呢?这里为您提供了一些便捷的步骤。

正文

1.  查看容器

#输入命令查看docker中所有容器
#docker ps 查看所有运行中的容器、-a可以列出所有容器包括未运行的
docker ps -a

 2. 备份容器 

#选择我们想要备份的容器,然后去创建该容器的快照。我们可以使用 docker commit #命令来创建快照。
#30b8f18f20b4是对应的CONTAINER ID(容器id)
docker commit -p 30b8f18f20b4 container-backup  

#该命令会生成一个作为Docker镜像的容器快照,我们可以通过运行
#docker images 命令
#来查看Docker镜像,如下
docker images

#正如我们所看见的,上面做的快照已经作为Docker镜像保存了。现在,为了备份该
#快照,我们有两个选择,一个是我们可以登录进Docker注册中心,并推送该镜像;
#另一个是我们可以将Docker镜像打包成tar包备份,以供今后使用。
#本次我们将其作为tar包备份。
docker save -o ~/container-backup.tar container-backup

#要验证tar包是否已经生成,我们只需要在保存tar包的目录中运行 ls 命令即可。
#一般默认会在root文件夹下
ls

3. 还原容器
#先停止本来的容器
docker stop gitlab

#查看容器
#如果只使用docker ps的话就看不到这个容器,因为这个容器已经停止运行了,所以
#需要-a才可以看到
docker ps -a

#删除刚停止的这个容器
#d9f88c88dab6 就是容器的CONTAINER ID(容器id)
docker rm d9f88c88dab6

#如果不放心可以再查看下容器

#使用 docker load 命令,后面加上tar包的备份路径,就可以加载该Docker镜像了。
docker load -i ~/container-backup.tar

#现在,为了确保这些Docker镜像已经加载成功,我们来运行 docker images 命令。
docker images

#启动镜像(一)
#指定端口映射,格式为:主机(宿主)端口:容器端口
docker run -d -p 9443:443 -p 9080:80 -p 2222:22 container-backup

#启动镜像(二)
#与备份镜像启动命令一致、这样可以保留镜像中的数据
docker run -d --hostname 192.168.xx.xxx --restart always -p 9443:443 -p 9080:80 -p 2222:22 --name gitlab -v `pwd`/config:/etc/gitlab  -v `pwd`/logs:/var/log/gitlab -v `pwd`/data:/var/opt/gitlab container-backup

本次的学习到这里就结束了,会根据实际使用更新文章。

如果对您有帮助 请点个关注,万分感谢

(QQ招聘群  710566091
                                 微信招聘群 请加图图微信)

 

Docker备份Gitlab容器以及还原数据的更多相关文章

  1. Docker - 解决 gitlab 容器上的项目进行 clone 时,IP 地址显示一串数字而不是正常 IP 地址的问题

    问题背景 通过 gitlab 容器创建了一个项目,想 clone 到本地,结果发现项目的 IP 地址是一串数字 问题排查 明明创建项目的时候,IP 地址还是正常的鸭! 再看看项目的 settings ...

  2. Docker 备份、恢复、迁移数据卷

    可以利用数据卷对其中的数据进行进行备份.恢复和迁移. 备份 首先使用 --volumes-from 标记来创建一个加载 dbdata 容器卷的容器,并从本地主机挂载当前到容器的 /backup 目录. ...

  3. gitlab Docker容器创建命令以及从容器中备份gitlab仓库示例

    Gitlab容器启动命令: docker run -d --name gitlab --publish : --publish : --hostname gitlab-server --volume ...

  4. 【Docker】利用数据卷容器来备份、恢复、迁移数据卷

    利用数据卷容器来备份.恢复.迁移数据卷 可以利用数据卷对其中的数据进行进行备份.恢复和迁移. 备份 首先使用 --volumes-from 标记来创建一个加载 dbdata 容器卷的容器,并从主机挂载 ...

  5. [docker] 管理docker容器中的数据

    之前我们介绍了Docker的基本概念(前面的没翻译...),了解了如何使用Docker镜像进行工作,并且学习了网 络和容器之间的链接.这一节我们将讨论如何管理容器中及容器之间的数据. 我们将查看下面两 ...

  6. docker备份mongodb数据,导入导出

    场景:服务器要升级,之前在linux部署的mongodb没有用docker,升级后,mongodb要用docker部署,并将原有的mongodb数据导入到docker部署的mongodb中. 1.在l ...

  7. 如何在Docker容器之间拷贝数据

    [编者的话]在容器之间拷贝数据是Docker一个重要而且基本的功能.拷贝数据到其他容器是一个经常使用到的场景,如当服务器遇到不可预见的“灾难”(注:断电,宕机)时,起到备份数据的作用.本文作者详细介绍 ...

  8. Docker深入浅出系列 | 容器数据持久化

    Docker深入浅出系列 | 容器数据持久化 Docker已经上市很多年,不是什么新鲜事物了,很多企业或者开发同学以前也不多不少有所接触,但是有实操经验的人不多,本系列教程主要偏重实战,尽量讲干货,会 ...

  9. Docker 实战(3)- 搭建 Gitlab 容器并上传本地项目代码

    如果你还想从头学起 Docker,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1870863.html 搭建 Gitlab 容器 搜索 ...

随机推荐

  1. YouTube 视频下载工具

    YouTube 视频下载工具 我不生产视频,只是优秀视频的搬运工! YouTube-dl https://github.com/search?q=youtube-dl https://github.c ...

  2. Nmap & ncat

    Nmap & ncat https://github.com/udacity/course-ud303 https://nmap.org/dist/nmap-7.30-setup.exe Yo ...

  3. React Hooks in depth

    React Hooks in depth React Hooks https://reactjs.org/docs/hooks-rules.html https://www.npmjs.com/pac ...

  4. Masterboxan INC发布印尼电商市场报告

    据海外媒体报导,Masterboxan INC(编号:20151264097)发布了印尼电商市场观察报告,指出印尼电商市场仍然有很大的发展潜力. Masterboxan INC表示,与发达国家从 PC ...

  5. 教你玩转CSS Position(定位)

    CSS Position(定位) position 属性指定了元素的定位类型. position 属性的五个值: static relative fixed absolute sticky 元素可以使 ...

  6. [转]【视觉 SLAM-2】 视觉SLAM- ORB 源码详解 2

    转载地址:https://blog.csdn.net/kyjl888/article/details/72942209 1 ORB-SLAM2源码详解 by 吴博 2 https://github.c ...

  7. C++算法代码——标题统计

    题目来自:http://218.5.5.242:9018/JudgeOnline/problem.php?id=2327 题目描述 凯凯刚写了一篇美妙的作文,请问这篇作文的标题中有多少个字符? 注意: ...

  8. 《Activity显示界面历险记》—说说View的那些理不清的关系

    前言 在Activity显示View的过程中,有一些重要的角色总让人理不清,比如PhoneWindow.DecorView.ViewRootImpl. 也常常有面试题会问到,他们四者之间的关系?创建的 ...

  9. oracle创建和删除序列

    创建序列语法: CREATE SEQUENCE 序列名 [START WITH n] [INCREMENT BY n] [{MINVALUE n}] [{MAXVALUE n|NOMAXVALUE}] ...

  10. 分布式流转开发常见报错FAQ

    鸿蒙入门指南,小白速来!0基础学习路线分享,高效学习方法,重点答疑解惑--->[课程入口] HarmonyOS开发中分布式协同是非常重要的一个功能,大家在刚接触的时候可能会出现各种各样的错误.我 ...