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

    一、数据卷

    数据卷是一个可供容器使用的特殊目录,它将主机操作系统目录直接映射进容器,类似于linux的mount行为。

    数据卷可以提供很多可用的特性:

    • 数据卷可以在容器之间共享和重用,容器间传递数据变得高效和方便。
    • 对数据卷内数据的修改会立刻生效,无论是容器内操作还是本地操作。
    • 对数据卷的更新不会影响镜像,解耦应用和数据。
    • 卷会一直存在,直到没有容器使用,可以安全的卸载它。

    1.创建数据卷

    D:docker_test>docker volume create -d local test
    test

     其他命令:

     1)查看数据卷详细信息

    D:docker_test>docker volume inspect test
    [
        {
            "CreatedAt": "2021-10-31T08:21:54Z",
            "Driver": "local",
            "Labels": {},
            "Mountpoint": "/var/lib/docker/volumes/test/_data",
            "Name": "test",
            "Options": {},
            "Scope": "local"
        }
    ]

     2)列出所有数据卷

    D:docker_test>docker volume ls
    DRIVER    VOLUME NAME
    local     test

     3)清理无用数据卷

    D:docker_test>docker volume prune

     4)删除数据卷

    D:docker_test>docker volume rm test

    2.绑定数据卷

    在执行docker run命令时,可以使用-mount选项来使用数据卷

    -mount支持三种类型的数据卷:

    volume:普通数据卷,映射到主机volumes目录下

    bind:绑定数据卷,映射到主机指定目录下

    tmpfs:临时数据卷,只存在于内存中

    D:docker_test>docker run -d -P name web --mount type=bind, source=/webapp, destination=/opt/webapp training/webapp python app.py

    上面使用training/webapp镜像运行容器,并创建一个数据卷挂载到容器的/opt/webapp目录。

    Docker挂载目录默认权限是读写(rw),用户可以ro指定为只读。

    二、数据卷容器

    如果用户需要在多个容器之间共享一些持续更新的数据,最简单的方式是使用数据卷容器。数据卷容器也是一个容器,但是它的目的是专门提供数据卷给其他容器挂载。

     1)创建一个数据卷容器,并在其中创建一个数据卷挂载到/dbdata目录:

    D:docker_test>docker run -it -v /dbdata --name dbdata ubuntu:18.04

     2)创建db1和db2两个容器,并从dbdata目录挂载数据卷:

    D:docker_test>docker run -it --volumes-from dbdata --name db1 ubuntu:18.04
    D:docker_test>docker run -it --volumes-from dbdata --name db2 ubuntu:18.04

    现在在dbdata、db1、db2三个容器中任一容器的dbdata目录下新建/编辑/删除文件,其他两个容器的dbdata目录均实时更新。

  • 相关阅读:
    ES 内存深度解析
    Spring Cache介绍和使用
    mysql 索引及索引创建原则
    mysql中四种存储引擎的区别和选择
    Java中数组、List、Set互相转换
    COGS 1151 活动安排
    洛谷P1650赛马与codevs 2181 田忌赛马
    5月3日济南清北学堂随堂测试题目
    codevs 1206 保留两位小数
    codevs 1203 判断浮点数是否相等
  • 原文地址:https://www.cnblogs.com/shier-dong/p/15489890.html
Copyright © 2011-2022 走看看