第一种形式
docker run -v 容器内部地址 镜像名称
docker run -d --name nginx -v /usr/share/nginx/html nginx
运行nginx容器,通过-v挂载一个卷组,通过-d后台启动,通过--name为容器指定名称
docker inspect 容器名称
docker inspect nginx
查看指定容器所有信息
查看Mounts节点下的Sources节点和Destination节点信息
该容器把宿主机的Sources对应目录挂载到容器内部的Destination的目录地址
cd Sources对应的目录路径
vim index.html,修改index.html文件
docker exec -it 容器名称 /bin/bash
进入到容器内部
cd Destination对应的路径路径
然后查看index.html文件,发现是刚刚修改后的内容,即挂载成功,映射关系正确
第二种形式
docker run -v $PWD/code:/var/www/html nginx
本地目录挂载到容器里面的一个路面里面
docker run -p 80:80 -d -v $PWD/html:/usr/share/nginx/html nginx
cat html/index.html
查看本地文件的内容
docker exec -it 容器名称 /bin/bash
进入到容器内部
cat /usr/share/nginx/html/index.html
发现其内容和本地文件的内容一致,即映射关系正确
第二种形式
docker run --volumes-from ...
mkdir data
docker create -v $PWD/data:/var/mydata --name data_container ubuntu
产生一个仅有数据的容器
docker run -it --volumes-from data_container ubuntu /bin/base
从另外一个容器挂载, 运行并直接进入容器内部
mount
cd mydata
touch whatever.txt
exit
cd data
ls
查看本地data目录下是否有whatever.txt文件
可以多个容器挂载一个数据容器,实现数据共享