Docker的数据卷挂载、目录挂载、文件挂载

文章目录

  • 1.数据卷挂载
  • 2.目录挂载
  • 3.文件挂载
  • 4.总结


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管理的,优点是位置统一,操作简单一些

你可能感兴趣的:(Docker,docker,容器,运维)