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