6-v挂载和容器间共享数据volume

1、volume数据卷,一个保存数据的单位。

所谓容器间数据共享就是在宿主机上开辟一块空间,这块空间的数据会被所有的容器共享。我理解就是一个文件指向。容器不存具体的数据
而是放在指定的宿主机文件中。如所有容器指向同一个war或jar包。

2、-v挂载,有两种使用方式:
1)-v 挂载并运行
docker    run   --name   容器名    -v    宿主机路径:容器内挂载路径    镜像名

下面的bin/true相当于占位符
2)docker create和--volumes-from一起使用,分两步执行,先创建后后运行。
先创建
docker create --name webpage -v /webapps:/tomcat/webapps tomcat /bin/true
后运行
docker run --volumes-from webpage --name t1 tomcat

先在usr目录下创建webapps和相关内容,可以通过xftp直接将webapps的内容上传到usr目录下
[root@localhost ~]# cd /usr/webapps
[root@localhost webapps]# ls
volume-test

此处采用的是-v一步挂载法,直接挂载和运行
[root@localhost webapps]# docker run --name t1 -p 8000:8080 -d -v /usr/webapps:/usr/local/tomcat/webapps tomcat
d9231e020e379cb12ef3fea41dff7a7b443d855857c59abeb29dd1ec78006573

打开浏览器访问:
http://192.168.93.159:8000/volume-test/index.html

I'm volume test page!!!!!!

3、查看容器目录对应的内容,此时webapps目录下的内容已经变成了宿主机映射的内容了,原有的内容已经没有了
[root@localhost webapps]# docker exec -it d9231e020e37 /bin/bash
root@d9231e020e37:/usr/local/tomcat# cd webapps
root@d9231e020e37:/usr/local/tomcat/webapps# ls
volume-test

4、再创建一个
[root@localhost webapps]# docker run --name t2 -p 8001:8080 -d -v /usr/webapps:/usr/local/tomcat/webapps tomcat
e9f7c841a658bec8ac8b9a7dc862f832f6a201c9dbc9df09ef54d1380263e878

5、改变内容后再观看,直接改变文件内容后,什么都不用动,些时刷新网页内容就变了
[root@localhost webapps]# ls
volume-test
[root@localhost webapps]# cd volume-test/
[root@localhost volume-test]# ls
index.html
[root@localhost volume-test]# vi index.html

http://192.168.93.159:8000/volume-test/index.html
I'm volume test page change!!!

6、创建共享容器方式,/bin/true 相当于占位符
[root@localhost webapps]# docker create --name webpage -v /usr/webapps:/usr/local/tomcat/webapps tomcat /bin/true
f21d15d78d57f522c4056e5f270432d402bcf0b31a2176fe6c25490ce78f77ef

--volumes-from webpage,其中webpage是上面起的别名
[root@localhost webapps]# docker run -p 8002:8080 --volumes-from webpage --name t3 -d tomcat
7634eb16c76798081c903a892e64f260940c21c6399e2b8f78f6f1bcd047ebd8
http://192.168.93.159:8002/volume-test/index.html

[root@localhost webapps]# docker run -p 8005:8080 --volumes-from webpage --name t5 -d tomcat
3214c99003b5bf530b6bc4a782ffa01d926d3db8cfc33ba03972acda39590024

http://192.168.93.159:8005/volume-test/index.html

上一篇:docker安装tomcat8部署var包


下一篇:10.27 index界面创建