背景:未解决多个应用数据共享,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查看挂载信息