数据卷
-
为什么要用数据卷
1.在容器被删除之后,容器内的数据不可恢复。
2.重复写问题,即容器内的数据在写入文件的时候,首先经过UFS写入文件,但是此文件还是会通过UFS在宿主机上建立一个临时文件,这是一个文件的读写操作就会重复两次。
- 数据卷的优势
数据卷绕过UFS提供很多有用的特性:
数据卷可以在容器之间共享和重用,容器间传递数据将变得高效方便
对数据卷内数据的修改会立马生效,无论是容器内操作还是本地操作
对数据卷的更新不会影响镜像,解耦了应用和数据
卷会一直存在,直到没有容器使用,可以安全地卸载它
相关命令
//启动一个挂在数据卷的容器
docker run -p 8080:8080 --name tomcat -d -v /usr/local/docker/tomcat/ROOT:/usr/local/tomcat/webapps/ROOT tomcat
使用数据卷部署mysql数据库
//可能会需要重新配置max_allowed_packet属性
docker run -p 3306:3306 --name mysql \
-v /usr/local/docker/mysql/conf:/etc/mysql \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql
关于数据卷部署项目的大概思路,使用Dockerfile构建镜像后,在命令号利用第一个命令启动一个挂在数据卷的容器即可。