4.1 Volume
(1)创建mysql数据库的container
docker run -d --name mysql01 -e MYSQL_ROOT_PASSWORD=123456 mysql
(2)查看volume列表
docker volume ls
(3)具体查看该volume
docker volume inspect 48507d0e7936f94eb984adf8177ec50fc6a7ecd8745ea0bc165ef485371589e8
(4)名字不好看,name太长,
修改一下"-v mysql01_volume:/var/lib/mysql"表示给上述的volume起一个能识别的名字
docker run -d --name mysql01 -v mysql01_volume:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql
(5)查看volume
docker volume ls
docker volume inspect mysql01_volume
(6)真的能够持久化保存数据吗?不妨来做个实验
#1.进入容器中
docker exec -it mysql01 bash
#2.登录mysql服务
mysql -uroot -p123456
#3.创建测试库
create database db_test
#4.退出mysql服务,退出mysql container
#5.删除mysql容器
docker rm -f mysql01
#6.查看volume
docker volume ls
#7.发现volume还在
DRIVER VOLUME NAME
local mysql01_volume
#8.新建一个mysql container,并且指定使用"mysql01_volume"
docker run -d --name test-mysql -v mysql01_volume:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql
# 9.进入容器,登录mysql服务,查看数据库
docker exec -it test-mysql bash mysql -uroot -123456
show database;
# 10.可以发现db_test仍然在
| information_schema |
| db_test |
| mysql |
| performance_schema |
| sys |
(7) volume其它命令
删除volume:
docker volume rm -f [volume Id]
or
docker volume rm -f $(docker volume ls)
创建volume:
docker volume create --name volume_1
4.2 Bind Mounting
(1)创建一个tomcat容器
docker run -d --name tomcat01 -p 9090:8080 -v /tmp/test:/usr/local/tomcat/webapps/test tomcat
(2)查看两个目录
centos:cd /tmp/test
tomcat容器:cd /usr/local/tomcat/webapps/test
(3)在centos的/tmp/test中新建1.html,并写一些内容
<p style="color:blue; font-size:20pt;">This is p!</p>
(4)进入tomcat01的对应目录查看,发现也有一个1.html,并且也有内容
(5)在centos7上访问该路径:curl localhost:9090/test/1.html
(6)在win浏览器中通过ip访问