文章目录
1.数据卷挂载
数据卷挂载是将 宿主机的数据卷 挂载到 Docker容器中的目录 中,数据卷目录由Docker管理,位置在 /var/lib/docker/volumes 中
举例↓
docker run --name <容器名> -p 80:80 -v <宿主机数据卷名称:容器内目录绝对路径> -d <仓库名:版本标签>
# docker run --name nginx-contain -p 80:80 -v html:/usr/share/nginx/html -d nginx
# 宿主机数据卷自动创建到 /var/lib/docker/volumes/html/_data 目录下,可用命令 docker volume inspect <数据卷名> 查看路径
ps:
1.数据卷不存在时会自动创建
2.数据卷中没有文件时,会将容器目录中的文件挂载到数据卷中,数据卷中有文件时,会将数据卷中的文件覆盖容器目录中的文件
2.目录挂载
目录挂载是将 宿主机的指定目录 挂载到 Docker容器中的目录 中,目录位置由用户自行管理
举例↓
docker run --name <容器名> -p 80:80 -v <宿主机目录绝对路径:容器内目录绝对路径> -d <仓库名:版本标签>
# docker run --name nginx-contain -p 80:80 -v /docker_conf/nginx/html:/usr/share/nginx/html -d nginx
# 宿主机目录挂载到容器内目录
ps:
1.目录中没有文件时,会将容器内目录中的文件挂载到目录中,目录中有文件时,会将数目录中的文件覆盖容器内目录中的文件
3.文件挂载
文件挂载是将 宿主机的指定文件 挂载到 Docker容器中的文件,文件位置由用户自行管理
举例↓
docker run --name <容器名> -p 80:80 -v <宿主机文件绝对路径:容器内文件绝对路径> -d <仓库名:版本标签>
# docker run --name nginx-contain -p 80:80 -v /docker_conf/nginx/html/index.html:/usr/share/nginx/html/index.html -d nginx
# 宿主机文件挂载到容器内文件
ps:
1.宿主机文件会覆盖容器内文件
4.总结
目录挂载和文件挂载类似,目录和文件的路径都是用户自行管理的,优点是自由度高
数据卷挂载的目录是由Docker管理的,优点是位置统一,操作简单一些