docker的数据持久化

挂载宿主机的目录(实现很多容器共用一个宿主卷)

[root@localhost ~]# docker run -itd --name web01 -v /var/www/html:/var/www/html centos-v 挂载位置在宿主机的/var/www/html 对应容器的:/var/www/html

2903a23c349adf01c428371c6996c92d3f622ebc61d74972913a65e3b1cb3f44

[root@localhost ~]# docker inspect web01 (查看容器信息————看挂载点)

截取部分

 },

        "Mounts": [

            {

                "Type": "bind",

                "Source": "/var/www/html",

                "Destination": "/var/www/html",

                "Mode": "",

                "RW": true,

                "Propagation": "rprivate"

            }

        ],

        "Config": {

[root@localhost ~]# docker start web01

web01

[root@localhost ~]# cd /var/www/html  ///在宿主机目录创建index.php在容器中也能看见,宿主机目录挂载成功///

[root@localhost html]# ls

[root@localhost html]# touch index.php

[root@localhost html]# docker exec web01 ls /var/www/html

index.php

[root@localhost html]#

[root@localhost html]# docker rm -f $(docker ps -q -a)(删除所有的容器)

002ae8bd4a11

6969453a5556

baafbeb35ff4

2903a23c349a

26a245cfee89

c623b8fcb3d6

ea7bdb213e39

c3ffbcccb8c1

dcc5e2773a56

[root@localhost html]#

将一个容器的数据卷挂载到其他容器中

[root@localhost html]# docker run -itd --name web01 -v /data centos -v 的目录默认指的是创建容器的目录---加:/指的是宿主机目录:/容器目录)

33d5e1999926b26e255c80d817e2fd63a07690cf39bd7f0ae4cc5d0ca1d87838

[root@localhost html]# docker inspect web01

截取部分

[

"Mounts": [

            {

                "Type": "volume",

                "Name": "a6cb36ade5ab867068b6499459c6d06019cd29f851bd97546eb220cdc9fa007f",

                "Source": "/var/lib/docker/volumes/a6cb36ade5ab867068b6499459c6d06019cd29f851bd97546eb220cdc9fa007f/_data",

                "Destination": "/data",

                "Driver": "local",

                "Mode": "",

                "RW": true,

                "Propagation": ""

 docker run -itd --name web01 -v /data centos (指定挂载点/data

 docker run -itd --name web02 --volumes-from web01 centos --volumes-from管理卷挂载对应容器的挂载点)

 docker exec  web02 rm -f /data/indax.php  (实验创建index.php通过web02查看)

 docker exec web01 ls /data

 docker attach web01

 docker restart web01

 docker exec web01 ls /data

 docker exec web02 touch /data/index.php

 docker exec web01 ls /data

猜你喜欢

转载自www.cnblogs.com/haozheyu/p/9212122.html
今日推荐