美文网首页
Docker-14-数据卷容器

Docker-14-数据卷容器

作者: 冷风_f818 | 来源:发表于2019-05-28 14:51 被阅读0次

数据卷容器就是一个专门用来挂载数据卷的容器,该容器主要是供其他容器引用和使用,所谓的数据卷容器,实际上就是一个普通的容器.

创建数据卷容器

命令如下:

docker run -tid -v /usr/share/nginx/html/ --name mydata ubuntu

就是运行了一个ubuntu容器,然后挂载了/usr/share/nginx/html/这个目录

引用容器

使用如下命令引用数据卷容器:

docker run -tid --volumes-from mydata -p 80:80 --name nginx1 nginx  

docker run -tid --volumes-from mydata -p 81:80 --name nginx2 nginx
image

执行完毕后,刚刚运行的两个nginx容器就都挂载了同一个数据卷到usr/share/nginx/html/目录下面,三个容器中,任意一个修改了该目录下的文件,其他两个都能看到变化

可以用docker inspect命令去查看这三个容器的详情,关于数据卷的部分如下:

image image image

从图中可以看到,三个容器的数据卷的描述都是一致的

注意事项

这里有几点需要注意的地方

  • 可以多次使用--volumes-from参数来从多个容器挂载多个数据卷,还可以从其他已经挂载了容器卷的容器来挂载数据卷.
  • 使用--volumes-from参数所挂载数据卷的容器自身并不需要保持在运行状态
  • 如果删除了挂载的容器(包括mydata、nginx1和nginx2),数据卷并不会被自动删除.如果要删除一个数据卷,必须在删除最后一个还挂载着它的容器时显式使用docker rm -v命令来指定同时删除关联的容器.

数据备份

利用数据卷容器可以实现数据的备份与恢复,备份命令如下:

docker run  mydata --name worker --privileged=true -v /usr/docker/backup/:/backup/ ubuntu tar cvf /backup/backup.tar /usr/share/nginx/html/
  • --volumes-from 连接待备份的容器
  • -v 用来挂载数据卷到容器的/backup/目录下面
  • 最后是个tar命令,将容器中/usr/share/nginx/html目录下的内容备份到/backup目录下的backup.tar文件中,由于
    已经设置将宿主机的/usr/docker/backup/目录映射到容器的/backup目录,因为备份在容器/backup目录下的压缩文件在当前目录下可以立马看到

执行如下:

image

可以看到backup.tar就有了已经,然后打开其实就是/usr/share/nginx/html目录及内容,至此备份就完成了

数据恢复

步骤如下

创建容器

首先需要创建一个容器,这个容器就是要使用恢复的数据的容器,这里就再创建一个nginx容器了,命令如下:

docker run -itd -p 82:80 -v /usr/share/nginx/html/ --name nginx3 nginx

容器名称是nginx3,然后挂载了一个数据卷

恢复

创建一个临时容器,如下:

docker run --volumes-from nginx3 -v $(pwd):/backup nginx tar xvf /backup/backup.tar
  • 首先还是使用--volumes-from参数连接上备份容器,即第一步创建出来的nginx3.
  • 然后将当前目录映射到容器的/backup目录下.
  • 然后执行解压操作,将backup.tar文件解压.解压文件位置描述是一个容器内的地址,但是该地址已经映
    射到宿主机中的当前目录了,因此这里要解压缩的文件实际上就是宿主机当前目录下的文件.
image

至此,数据恢复就完成了

相关文章

  • Docker-14-数据卷容器

    述 数据卷容器就是一个专门用来挂载数据卷的容器,该容器主要是供其他容器引用和使用,所谓的数据卷容器,实际上就是一个...

  • Docker数据管理

    容器管理数据方式: 数据卷:容器内数据直接映射到本地主机环境; 数据卷容器:使用特定容器维护数据卷。 数据卷 类似...

  • 【现学现忘Docker基础】— 21.Docker容器数据卷(一

    1、什么是Docker容器数据卷 Docker容器数据卷,即Docker Volume(卷)。 当Docker容器...

  • 【现学现忘Docker基础】— 27.数据卷容器

    1、数据卷容器的说明 (1)什么是数据卷容器 一个容器中已经创建好的数据卷,其它容器通过这个容器实现数据共享。那么...

  • docker 之数据卷

    数据卷容器 数据卷容器也是一个容器,但目的是专门用来提供数据卷供其他容器挂载。下面启动这个名为dbdata的容器,...

  • docker容器数据卷

    什么是容器数据卷 把docker容器运行产生的数据持久化,相当于容器的外置硬盘 容器数据卷的特点 1.数据卷可在容...

  • 第六章 数据管理

    1、容器中管理数据的两种主要方式 1)数据卷2)数据卷容器 2、数据卷 数据卷是一个可供容器使用的特殊目录,它绕过...

  • docker学习——docker数据管理

    一.基本概念 数据卷:容器内数据直接映射到本地主机环境 数据卷容器:使用特定容器维护数据卷 二 .相关操作 1.数...

  • Docker 数据管理

    Volume(数据卷) 将Docker主机数据挂载到容器 创建数据卷 查看数据卷详细信息 用卷创建一个容器,让这个...

  • 数据卷容器

    1.创建一个数据卷容器 2. 创建两个容器,同时挂载数据卷容器

网友评论

      本文标题:Docker-14-数据卷容器

      本文链接:https://www.haomeiwen.com/subject/sgkdtctx.html