1.将docker容器中的数据和本地数据实现数据共享
方式一:直接使用命令来挂载 -v
-v 主机目录:容器内目录
通过 docker inspect 容器id 查看挂载 位置
三种挂载: 匿名挂载、具名挂载、指定路径挂载
-v 容器内路径 #匿名挂载
docker run -d -P --name nginx01 -v /etc/nginx nginx
-v 卷名:容器内路径 #具名挂载
docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx nginx
-v /宿主机路径:容器内路径 #指定路径挂载 docker volume ls 是查看不到的
docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7
拓展:
# 通过 -v 容器内路径: ro rw 改变读写权限
ro #readonly 只读
rw #readwrite 可读可写
docker run -d -P --name nginx05 -v juming:/etc/nginx:ro nginx
docker run -d -P --name nginx05 -v juming:/etc/nginx:rw nginx
容器数据卷
多个mysql同步数据!
docker run -d -p 3306:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7
docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql02 --volumes-from mysql01 mysql:5.7
这个时候,可以实现两个容器数据同步