zoukankan      html  css  js  c++  java
  • 使用Docker存储之卷Volume

    最近一个项目要使用Data Volume,这里简单记录一下。

    数据卷可以用来存储Docker应用的数据,也可以用来在Docker容器间进行数据共享。数据卷呈现给Docker容器的形式就是一个目录,支持多个容器间共享,修改也不会影响镜像。

    特性:

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

      对数据卷的修改会立刻生效

      对数据卷的更新,不会影响镜像

      数据卷默认会一直存在,即使容器被删除

     

    1、创建一个数据卷

      docker volume create vol1

      查看所有的数据卷

      docker volume ls

      在主机里使用如下命令可以查看指定的数据卷信息

      docker volume inspect vol1 

      [
        {
          "Driver": "local",
          "Labels": {},
          "Mountpoint": "/var/lib/docker/volumes/vol1/_data",
          "Name": "vol1",
          "Options": {},
          "Scope": "local"
        }
      ]

    2、使用数据卷

    (1)使用“-v 容器内目录”方式

      docker run -d -P --name web -v /webapp training/webapp python app.py

           此方式docker 会将本地一个 _data 目录 mount 为容器内的 webapp 目录,但是,在web容器被删除后,宿主机上的 _data 的目录及其中的内容虽然会保留下来,新启动的容器却无法再使用这个目录,也就是说,已有的数据不能自动地被重复使用了。

    (2)使用 -v 来挂载一个主机上的目录/文件到容器的目录/文件

      docker run -d -p 23333:80 -v vol1:/store training/webapp python app.py   或者使用  --mount source=vol1, target=/store

      将创建的数据卷 vol1 挂在到容器的 /store 目录,可以理解为目录映射,这样可以让所有的容器共享宿主机数据,从而只需要改变宿主机的数据源就能够影响到所有的容器数据。而且,重新启动容器时,可以再次使用同样的方式将 vol1 的目录挂在到新的容器内, 这样就可以实现数据持久化的目的。

    3、删除数据卷

      docker volume rm vol1

  • 相关阅读:
    Intel汇编语言程序设计学习-第三章 汇编语言基础-中
    Intel汇编语言程序设计学习-第三章 汇编语言基础-上
    对支付链接的加密处理 面向接口编程
    编制预算的四个好方法
    Twitter欲以10亿美元收购Flipboard 双方未置评
    分手决策——合伙人离婚时怎样保护你的公司
    领导力须突破命令控制式管理
    腾讯首席探索官建言创业者:尽可能留住早期员工
    人力资本管理的坏习惯
    我们在培训领导者这件事上行动迟缓
  • 原文地址:https://www.cnblogs.com/zhao-gang/p/9724687.html
Copyright © 2011-2022 走看看