直接使用命令的方式挂载 -v
#双向同步 主机:容器docker run -it -v /home:/home centos /bin/bash#容器中只读:ro,默认是读写rwdocker run -it -v /home:/home:or centos /bin/bash
查看挂载情况
[root@localhost] docker inspect a53fa0b6ed4e"Mounts": [{"Type": "bind","Source": "/home","Destination": "/home","Mode": "","RW": true,"Propagation": "rprivate"}],
具名和匿名挂载
#匿名挂载docker run -it -v /home centos /bin/bash#-v 的时候不指定对应主机的路径,自动生产挂载文件夹,默认挂载在docker目录下[root@localhost ~]# docker volume ls #看到本地有这样一个匿名挂载出来的DRIVER VOLUME NAMElocal 7430d0a797a1764116ce480e10cbb861fe602c86f2f3535c4cd1020c7db312b9#具名挂载docker run -it -v /home 具体名称:centos /bin/bash#-v 的时候左边是一个文件夹名称,默认在docker的目录下[root@localhost ~]# docker volume lsDRIVER VOLUME NAMElocal 7430d0a797a1764116ce480e10cbb861fe602c86f2f3535c4cd1020c7db312b9local juming#查看卷的位置#所以匿名具名的数据卷在var/lib/docker/volumes/xxx/_data[root@localhost ~]# docker volume inspect juming[{"CreatedAt": "2022-01-21T06:43:42+08:00","Driver": "local","Labels": null,"Mountpoint": "/var/lib/docker/volumes/juming/_data","Name": "juming","Options": null,"Scope": "local"}]#默认卷的目录:var/lib/docker/volumes/[root@localhost ~]# cd /var/lib/docker/volumes/[root@localhost volumes]# ls7430d0a797a1764116ce480e10cbb861fe602c86f2f3535c4cd1020c7db312b9 backingFsBlockDev juming metadata.db
dockerfile的方式
编译了之后,”dataC1”,”dataC2” 会匿名挂载到docker目录下
FROM centosVOLUME ["dataC1","dataC2"]CMD echo "finished---------succes!"CMD /bin/bash
