Docker数据卷介绍:
- Docker容器删除后,在容器中产生的数据不会随之消失
- Docker容器和外部机器可以直接交互
- Docker容器与容器间可以进行数据交互
- 数据卷是宿主机中的一个目录或文件
- 当容器目录和数据卷目录绑定后,对方的修改会立即同步
- 一个数据卷可以被多个容器同时挂载
- 一个容器可以挂载多个数据卷
配置数据卷
创建启动容器时,使用-v参数设置数据卷
docker run ... -v 宿主机目录(文件):容器内目录(文件)...
注意事项:
原始的启动tomcat
启动:docker run -it -d -p 1122:8080 --name tomcat01 tomcat:latest
进入容器:docker exec -it d3a3a0da3f5 /bin/bash
因为webapps下是空的需复制webapps.dist文件下的内容到webapps下
cp -r webapps.dist/* webapps
访问:10.21.3.108:1122
挂载的方式启动和验证
启动:docker run -d -p 2233:8080 -v /wj/tomcat:/wj/tomcat --name tomcat02 tomcat:latest
进入容器: docker exec -it 4d97b86 /bin/bash
因为webapps下是空的需复制webapps.dist文件下的内容到webapps下
cp -r webapps.dist/* webapps
访问:10.21.3.108:2233
验证:1、在宿主机的/wj/tomcat文件下创建一个aa.txt文件在容器中查看是否存在
2、在容器中创建文件bb.txt在宿主机上查看是否存在
查看容器信息可查看我们挂在的文件信息
docker inspect 4d97b86829
具名挂载和匿名挂载
- -v 容器内路径 #匿名挂载(不常用)
- -v 卷名:容器内路径 #具名挂载(常用)
- -v /宿主机路径::容器内路经 #指定路径挂载(不常用)
具名挂载:docker run … -v 宿主机目录(文件):容器内目录(文件)…具名挂载可以方便的找到我们的卷,大多数情况使用的是具名挂载
docker run -d -p 2233:8080 -v /wj/tomcat:/wj/tomcat --name tomcat02 tomcat:latest
匿名挂载:docker run … -v 容器内目录(文件)…
所有的docker容器内的卷,没指定目录的情况都是在/var/lib/docker/volumes/XXX/_data
docker run -d -p 2233:8080 -v /wj/tomcat --name tomcat02 tomcat:latest