zoukankan      html  css  js  c++  java
  • Docker数据管理

    Docker数据管理

    在容器中管理数据主要有两种方式: 数据卷(Volumes) 和 挂载主机目录(Bind mounts)。

    数据卷:

        数据卷是一个可供一个或多个容器使用的特殊目录,它绕过UFS,可以提供很多有用的特性:

    1.可以在容器之间共享和重用。

    2.对 数据卷 的修改会立马生效。

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

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

    注意:数据卷 的使用,类似于Linux下对目录或文件进行mount,容器中的被指定为挂载点的目录中的文件会隐藏掉,能显示看的是挂载的 数据卷。

     

    创建一个数据卷 docker volume create my-vol

    查看所有数据卷 docker volume ls

    在主机里使用以下命令可以查看指定  数据卷  的信息 docker volume inspect my-vol

    启动一个挂载数据卷的容器

    在用  docker run  命令的时候,使用  --mount  标记来将  数据卷  挂载到容器里。在一次  docker run  中可以挂载多个  数据卷

    docker run -d -P --name web --mount source=my-vol,target=/webapp training/webapp python app.py

    容器跑起来了,简单看下信息和操作下

    查看数据卷的具体信息

    docker inspect web

    数据卷  信息在 "Mounts" Key 下面

    删除数据卷

    docker volume rm my-vol

    数据卷  是被设计用来持久化数据的,它的生命周期独立于容器,Docker 不会在容器被删除后自动删除  数据卷  ,并且也不存在垃圾回收这样的机制来处理没有任何容器引用的  数据卷  。如果需要在删除容器的同时移除数据卷。可以在删除容器的时候使用  docker rm -v  这个命令。

    无主的数据卷可能会占据很多空间,要清理请使用以下命令

    docker volume prune

    如果尝试正在被挂载并且使用的数据卷会报错

    第二种方式就是挂载主机目录

    使用  --mount  标记可以指定挂载一个本地主机的目录到容器中去。

    docker run -d -P --name web --mount type=bind,source=/src/webapp,target=/webapp training/webapp python app.py

    或者

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

    注意:不要把目标路径写成target=/opt/webapp,书上是这么写的,这么写我本地操作闪退。查了好久这个地方。

     

    上面的命令加载主机的  /src/webapp  目录到容器的  /opt/webapp  目录。这个功能在进行测试的时候十分方便,比如用户可以放置一些程序到本地目录中,来查看容器是否正常工作。本地目录的路径必须是绝对路径,以前使用  -v  参数时如果本地目录不存在 Docker 会自动为你创建一个文件夹,现在使用  --mount  参数时如果本地目录不存在,Docker 会报错。

    Docker 挂载主机目录的默认权限是  读写  ,用户也可以通过增加  readonly  指

    定为  只读

    docker run -d -P --name web --mount type=bind,source=/src/webapp,target=/webapp,readonly training/webapp python app.py

     

    产看数数据卷信息还是用 docker inspect web

    挂载主机目录  的配置信息在 "Mounts" Key 下面

    挂载一个本地主机文件作为数据卷

    --mount  标记也可以从主机挂载单个文件到容器中

    docker run --rm -it --mount type=bind,source=$HOME/.bash_history,target=/root/.bash_history ubuntu:18.04 bash

     

     

     

  • 相关阅读:
    【XSY2720】区间第k小 整体二分 可持久化线段树
    【XSY2719】prime 莫比乌斯反演
    【XSY2718】gift 分数规划 网络流
    【CTSC2017】【BZOJ4903】吉夫特 卢卡斯定理 DP
    【XSY2729】欧拉子图 无向图连通性 数学
    【XSY2730】Ball 多项式exp 多项式ln 多项式开根 常系数线性递推 DP
    【BZOJ1999】【NOIP2007】树网的核 单调队列优化DP
    NOIP2017游记
    【BZOJ2127】happiness 网络流
    【BZOJ3625】【CF438E】小朋友和二叉树 NTT 生成函数 多项式开根 多项式求逆
  • 原文地址:https://www.cnblogs.com/csnd/p/12061834.html
Copyright © 2011-2022 走看看