挂载的用处
挂载目录会自动创建,但是如果在创建容器时需要执行初始化脚本和指定配置,那么就需要手动创建好目录之后,将对应文件放置到对应目录下即可,然后执行本地数据挂载命令创建运行容器。
挂载可以实现数据的持久保存,正常情况下当我们在做容器升级的时候都是要先删除容器,再启动新的容器。挂载信息在容器删除时,数据依然存在,在启动新容器时可保证数据不丢失。
挂载的信息可以实现双向映射,我们可以在宿主机上直接操作文件,即可实现对容器文件的操作。
数据卷挂载
示例命令:
运行容器并创建数据卷
docker run -d --name nginx -p 80:80 \
-v html:/usr/share/nginx/html nginx
查看数据卷
docker volume ls
查看数据卷详情
docker volume inspect html
- 删除数据卷:docker volume rm
- 删除未使用的数据卷:docker volume prune
执行运行命令时,命令行增加“-v 数据卷名字:容器内目录”可以完成数据卷的挂载,数据卷名字可以随便起,不重复即可;
当创建容器时,如果挂载了数据卷且数据卷不存在,那么会自动创建数据卷。
本地目录挂载
docker run -d \
--name mysql \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=root \
-v /root/data/mysql/data:/var/lib/mysql \
-v /root/data/mysql/init:/docker-entrypoint-initdb.d \
-v /root/data/mysql/conf:/etc/mysql/conf.d \
mysql