使用数据卷
方式一:直接使用命令进行挂载 -v
docker run -it -v 主机文件路径:容器内文件路径 centos /bin/bash
实验操作Mysql数据持久化
拉取mysql=5.7的镜像
docker pull mysql:5.7
运行容器,同时进行数据卷挂载
docker run -d -p 3310:3306 -v /Users/leeakita/Desktop/mysql/conf:/etc/mysql/conf.d -v /Users/leeakita/Desktop/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=13456 --name mysql01 mysql:5.7
命令解读:
-d 后台运行
-p 端口映射
-v 数据挂载
-e 环境设置
--name 容器名字
具名挂载和匿名挂载
-v 不指定主机的路径地址进行自动挂载
docker run -d -P --name nginx01 -v /ect/nginx nginx
docker run -d -P --name nginx02 -v juming:/etc/nginx nginx
查看所有的数据卷情况
docker volume ls
查看挂载的具体信息
docker volume inspect 卷名
拓展
docker run -d -P --name nginx -v juming:/etc/nginx:ro nginx
docker run -d -P --name nginx -v juming:/etc/nginx:rw nginx
总结
-v 容器内部路径
-v 卷名:容器内部路径
-v 主机路径:容器内部路径
方式二:数据卷容器
docker run -it --name docker01 lala/centos
docker run -it --name docker02 --volunmes-from docker01 lala/centos
方式三:在构建Dockerfile的时候指定挂载信息
具体操作如下
FROM centos
VOLUME ["volume01","volume02"]
CMD echo "----end----"
CMD /bin/bash
docker build -f dockerfile1 -t lala/centos .