Docker数据卷

Docker数据管理和网络基础


默认情况下,当用户退出容器而容器中又没有非守护进程在运行时,容器会进入关闭状态,同时,数据的修改会保留在层级的可写文件系统内。当用户需要重新开启一个容器时,是无法访问原来所做的修改的,而是恢复到镜像的初始化状态。为了解决数据持久化的问题,Docker提供了卷和卷容器机制。

1、卷

简单说来,卷就是将宿主机中的某个目录,mount到容器中,这样,在容器中此目录下的修改,即便容器关闭,数据也会保留下来,供宿主机和其他容器访问。

有很多种使用方式,例如:

1、在运行容器的时候,在Docker中创建一个数据卷

docker run -dti -v /data centos
#在docker中会有/data目录,这个目录不归属于层级文件系统
ls /data -d
/data

2、将宿主机的一个目录,挂在到容器里,这种方式,数据可以保存在宿主机中

#例如将宿主机的/var/data挂载到容器中的/data
docker run -tdi -v /var/data:/data centos

3、挂载单个文件到容器中

docker run -tdi ~/dbback.tar.gz:/dbback.tar.gz centos

2、数据卷容器

数据卷容器的作用是,其中挂载的数据卷,可以被使用它的容器,共同使用。也就是多个容器之间可以同时使用这个数据卷,容器对他的写入内容,在其他容器也能看到。

创建创建一个数据卷容器

#创建一个包含数据卷的容器供其他容器使用,这个容器并不需要一直开启
docker run -tdi -v /data --name data_s centos
#创建两个容器,使用这个数据卷容器
docker run -ti --volumes-from data_s  --name web1 centos
docker run -ti --volumes-from data_s  --name web2 centos
#此时这两个容器,都可以共同读写/data目录了
#如果需要将数据同步到宿主机的目录中,则创建数据卷容器的时候,选择挂载宿主机的目录,如:
docker run -tdi -v /data:/data --name data_s centos
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 数据卷(Data Volumes) 之前我们了解到 Container 仅包含镜像文件部分,对于进程运行的数据或可...
    忽忽_阅读 1,158评论 0 0
  • 转载自 http://blog.opskumu.com/docker.html 一、Docker 简介 Docke...
    极客圈阅读 10,544评论 0 120
  • 五、Docker 端口映射 无论如何,这些 ip 是基于本地系统的并且容器的端口非本地主机是访问不到的。此外,除了...
    R_X阅读 1,800评论 0 7
  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,636评论 15 147
  • 每天醒来 都有些异样 几个问题 往往从脑中一闪而过 都是些生,死,存在这些东西 来不及多想 它们自动消失了 如今看...
    Lonelyran阅读 311评论 0 4