docker 数据卷

docker管理数据的方式有两种:

· 数据卷

· 数据卷容器

数据卷是为一个或多个容器专门指定绕过Union File System的目录,为持续性或共享数据提供一些有用的功能:

· 数据卷可以在容器间共享和重用

· 数据卷数据改变是直接修改的

· 数据卷数据改变不会被包括在容器中

· 数据卷是持续性的,直到没有容器使用它

 

数据卷的使用,类似于 Linux 下对目录进行 mount

挂载一个主机目录作为数据卷

你想在容器中使用主机上的某个目录,你可以通过-v参数来指定

 

以tomcat 为例   在主机tomcat 创建 一个目录root  

   docker run -p 8080:8080 --name tomcat -d -v /usr/local/tomcat/root:/usr/local/tomcat/root tomcat 

     : 左边 宿主机目录   右边容器的目录 

 

mysql   

     docker run -p 3306:3306 --name mysql \     

        -v /usr/local/docker/mysql/logs:/var/mysql \

         -v /usr/local/docker/mysql/data:/var/mysql \

         -e MYSQL_ROOT_PASSWORD=123123 \

         -d mysql  

 

         启动后将mysql 配置文件复制到宿主机  

         docker cp mysql:/etc/mysql  .     

         得到配置文件后删除容器  

             

          清空 log 和 data

     重新启动一个容器  

      docker run -p 3306:3306 --name mysql \     

         -v /usr/local/docker/mysql/conf:/etc/mysql \

        -v /usr/local/docker/mysql/logs:/var/mysql \

         -v /usr/local/docker/mysql/data:/var/mysql \

         -e MYSQL_ROOT_PASSWORD=123123 \

         -d mysql  

        这就得到一个带有配置文件的mysql数据卷

    

 

     

 

posted @ 2019-08-22 11:01  MartinEDM  阅读(124)  评论(0编辑  收藏  举报