Docker-数据持久化(四)

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 lsdocker 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]ordocker 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,并写一些内容

This is p!

(4)进入tomcat01的对应目录查看,发现也有一个1.html,并且也有内容

 

(5)在centos7上访问该路径:curl localhost:9090/test/1.html

 

(6)在win浏览器中通过ip访问

Docker-数据持久化(四)_第1张图片

 

 

 

你可能感兴趣的:(DevOps)