美文网首页
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-数据卷容器

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