一、-v 目录挂载
上面例子中用到 -v 参数,他可以将宿主机的路径挂载到容器指定路径,通过 -v 参数可以挂载文件、目录和数据卷。
挂载目录:
# 清理容器
docker rm -f $(docker ps -aq)
# -v 宿主机路径:容器路径
# 挂载的可以是文件,也可以是文件夹
# -v 可以在宿主机自动新建目录
docker run -d \
--name cat1 \
-v /usr/app:/opt/app \
tomcat
# 进入容器,在 /opt/app 下新建文件 f1.txt
docker exec -it cat1 bash
touch /opt/app/f1.txt
# 退出容器的命令行
exit
# 访问宿主机的文件夹
cd /usr/app
ls
二、数据卷挂载
# 新建数据卷
docker volume create my-vol
# 查看 my-vol 数据卷的信息
docker volume ls
# /var/lib/docker/volumes/my-vol/_data
docker inspect my-vol
# 挂载 my-vol 数据卷到容器的 /opt/app 路径
docker run -d \
--name cat2 \
-v my-vol:/opt/app \
tomcat
# 在容器的 /opt/app 下新建 f2.txt
docker exec -it cat2 bash
touch /opt/app/f2.txt
# 退出容器的命令行
exit
# 进入 my-vol 数据卷的真实目录,查看 f2.txt
cd /var/lib/docker/volumes/my-vol/_data
ls