docker之容器数据持久化

1.挂载本地目录为容器的数据存放目录

 [root@node03 ~]# docker run -itd --name web01 -v /container_data/web:/data ubuntu

[root@node03 ~]# docker inspect web01

2.到挂载的目录下面创建一个文件

[root@node03 ~]# cd /container_data/web/
[root@node03 web]# ls
[root@node03 web]# touch test.index

3、查看web01容器下面的data目录是否存在刚才创建的文件

[root@node03 ~]# docker exec web01 ls /data

4、在创建一个web02 的容器,也挂载相同的目录,看看刚才的文件是否还存在

[root@node03 ~]# docker run -itd --name web02 -v /container_data/web:/data ubuntu

二、 容器 数据卷

创建一个dvdata的数据卷容器:

[root@node03 ~]# docker run -itd -v /data --name dvdata ubuntu   

注:/data是数据卷容器内共享的目录

在其他容器中挂载dvdata容器的数据卷:


[root@node03 ~]# docker run -itd --name web01 --volumes-from dvdata ubuntu

分别进入web1、web2容器中,会有一个/data目录,在web1里的/data目录创建文件,web2也能看的到。

总结: 如果删除dvdata、web1、web2,时,数据卷并不会被自动删除。如果想删除需在删除最后一个挂载着它的容器时使用docker rm -v 命令来指定删除关联的容器。

[root@node03 ~]# docker exec dvdata touch /data/index.php
[root@node03 ~]# docker exec dvdata ls /data
index.php
[root@node03 ~]# docker exec web01 ls /data
index.php
[root@node03 ~]# docker run -itd --name web02 --volumes-from dvdata ubuntu
a0afc3cbf251af427eea2ca89ae94c07dcb537643414830405e805d1ea6be962
[root@node03 ~]# docker exec web02 ls /data
index.php

 

 

posted @ 2018-09-05 16:04  Mr.zou  阅读(276)  评论(0编辑  收藏  举报