文章目录
- [1. Docker 如何映射文件](#1. Docker 如何映射文件)
- [2. 参考资料](#2. 参考资料)
1. Docker 如何映射文件
Docker 映射最大的好处是持久化,比如适合开发时候的mysql数据库。
在启动容器时指定 容器
与 主机
的映射关系,举例如下:
shell
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
以上就把容器的文件夹 var/log/mysql
映射到了主机的 /mydata/mysql/conf
等目录。
这种方法最大的优点是在删除容器后,该文件依然存在,下次启动新容器或许依然可以使用而不用重新配置一遍环境和恢复数据,这对需要持久化的容器特别友好,如mysql
举例如下:
-
假设,在存在映射的容器 mysql_test 中,创建了 spring_test 数据库
-
现在删除 mysql_test 容器(如果不映射那么所有数据库都会被删除)
shelldocker rm mysql_test
-
删除后重新映射源文件到新的容器 mysql_test111 中
shelldocker run -p 3306:3306 --name mysql_test111 \ -v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7
-
登录发现原来的数据库 spring_test 的数据任然存在,哈哈,体验很棒
2. 参考资料
我的文章:《如何查看一个 Docker 镜像有哪些版本.md》
我的文章:《Docker 快速入门实用教程.md》