背景:未解决多个应用数据共享,docker有自己非常好的解决方案。即通过volume挂载,将硬盘上的数据或者文件映射到镜像容器中,达到一份数据多处使用,即时修改,即时生效。
下面介绍两种docker数据挂载的方法:
1.在执行运行时挂载:将本地目录挂载到镜像虚拟目录(不足之处在于每次都要写本地目录,不容易维护)
docker run -d --别名 -v /本地目录:/容器目录 镜像名称
eg:docker run -d -mycat -v /home/work/docker:/home/loacl/tomcat/webapps tomcat
eg:docker run -d -mycat1 -v /home/work/docker:/home/loacl/tomcat/webapps tomcat
eg:docker run -d -mycat2 -v /home/work/docker:/home/loacl/tomcat/webapps tomcat
2.改进之后,先创建容器。通过挂载关系设置。
eg:docker create --webpage -v /home/work/docker:/home/loacl/tomcat/webapps tomcat /bin/true
docker run -p 8000:8080 --volumes-from webpage --name test1 -d tomcat
docker run -p 8001:8080--volumes-from webpage --name test2 -d tomcat
3.通过文件设置挂载点
eg:1.新建dockerfile
FROM tomcat
#挂载点,目标
VOLUME "/usr/local/tomcat/webapps"
2.通过 docker build -t test2 /dockerfile父目录
3.docker run -d test2
可以通过 docker inspect查看挂载信息