docker学习——docker数据管理

一.基本概念

数据卷:容器内数据直接映射到本地主机环境

数据卷容器:使用特定容器维护数据卷

二 .相关操作

1.数据卷

(1)在容器内创建一个数据卷

docker run -d -p --name 容器名(web) -v /目录(webapp) 镜像名(ubuntu)

使用ubuntu镜像创建一个web容器,并创建一个数据卷挂载到容器的/webapp目录下

(2)挂载一个主机目录作为数据卷

docker run -d -p --name web -v /src/webapp:/opt/webapp:ro ubuntu

加载主机的/src/webapp目录到容器的/opt/webapp目录

# 加了:ro之后,容器内挂载的数据卷的数据就无法修改。

(3)挂载一个本地主机文件作为数据卷(不推荐)

docker run --rm -it -v ~/.bash:history :/.bash_history ubuntu /bin/bash

2.数据卷容器

docker run -it -v /dbdata --name dndata ubuntu

创建一个数据卷容器dbdata,并创建数据卷挂载到/dbdata

docker run -it --volumes-from dbdata --name db1 ubuntu

docker run -it --volumes-from dbdata --name db1 ubuntu

容器db1和db2都挂载同一个数据卷到相同的/dbdata目录,三个容器任何一方在该目录下写入,其他容器都可看到

3.利用数据卷容器来迁移数据

(1)备份

docker run --volumes-from dbdata -v $(pwd):/backup --name worker ubuntu tar cvf /backup/backup.tar /dbdata

使用--volumes-from dbdata参数来让worker容器挂载dbdata容器的数据卷

使用-v $(pwd):/backup来挂载本地的当前目录到woker容器的/backup目录

使用tar cvf /backup/backup.tar /dbdata命令来将/dbdata下内容备份为容器内的/backup/backup.tar

(2)恢复

docker run -v /dbdata --name dbdata2 ubuntu /bin/back

docker run --volumes-from dbdata2 -v $(pwd):/backup busybox tar xvf

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 用户在使用docker的过程中,往往需要能查看容器内应用产生的数据,或者需要把容器内的数据进行备份,甚至多个容器之...
    八目朱勇铭阅读 408评论 0 1
  • 五、Docker 端口映射 无论如何,这些 ip 是基于本地系统的并且容器的端口非本地主机是访问不到的。此外,除了...
    R_X阅读 1,792评论 0 7
  • 文/一土 不管一年中多少风波,日子多么窘迫,回了家,你的床还是你来睡。在知道我归来的更早时候,有人铺好床。脱衣躺下...
    雨下撒哈拉阅读 419评论 5 5
  • 二月的风,从海上吹来 有些和暖,有些寒凉。 海面...
    郁兰子阅读 293评论 0 0
  • 这世上最容易的事情就是幻想了, 这世上最难的事情就是思考了, 他们唯一的共同点就是都是用的脑子。 最近一直都处在这...
    Richard阅读 388评论 1 1