• Docker操作笔记(三)数据管理


    数据管理

    一、数据卷

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

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

    • 对 数据卷 的修改会立马生效

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

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

    1.创建一个数据卷 

    docker volume create my_vol

    2.查看所有数据卷 

    docker volume ls

    3.查看指定数据卷 

    docker volume inspect my_vol

    4.启动挂载数据卷的容器 

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

    下面创建一个名为 web 的容器,并加载一个 数据卷 到容器的 /webapp 目录。

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

    5.查看数据卷的具体信息 

    docker inspect web

    6.删除数据卷 

    docker volume rm my_vol

    数据卷 是被设计用来持久化数据的,它的生命周期独立于容器,Docker 不会在容器被删除后自动删除 数据卷

    并且也不存在垃圾回收这样的机制来处理没有任何容器引用的 数据卷。如果需要在删除容器的同时移除数据卷。

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

    docker volume prune

    二、挂载主机目录

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

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

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

    上面的命令加载主机的 /src/webapp 目录到容器的 /opt/webapp目录。这个功能在进行测试的时候十分方便,

    比如用户可以放置一些程序到本地目录中,来查看容器是否正常工作。本地目录的路径必须是绝对路径,

    以前使用 -v 参数时如果本地目录不存在 Docker 会自动为你创建一个文件夹,

    现在使用 --mount 参数时如果本地目录不存在,Docker 会报错。

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

    $ docker run -d -P 
        --name web 
        # -v /src/webapp:/opt/webapp:ro 
        --mount type=bind,source=/src/webapp,target=/opt/webapp,readonly 
        training/webapp 
        python app.py

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

    $ docker run --rm -it 
       # -v $HOME/.bash_history:/root/.bash_history 
       --mount type=bind,source=$HOME/.bash_history,target=/root/.bash_history 
       ubuntu:18.04 
       bash
  • 相关阅读:
    bzoj1257 [CQOI2007]余数之和sum
    bzoj1053 [HAOI2007]反素数ant
    bzoj3680 吊打XXX
    CodeVS1344 线型网络
    bzoj1925 [Sdoi2010]地精部落
    2016年北大高代考研题解答
    巴塞尔问题(Basel problem)的多种解法
    积分计算题
    PDF添加水印的办法
    Matlab技巧1:在同一坐标系上绘制两个函数图像
  • 原文地址:https://www.cnblogs.com/Shadowplay/p/10236542.html
Copyright © 2020-2023  润新知