zoukankan      html  css  js  c++  java
  • docker简单介绍----存储

    docker容器 中使用Volumes来实现数据的持久性,因为容器的删除会丢失数据,而关闭或者重启容器不会丢失数据

    docker run -v即可使用Volumes

    1.docker-managed volume

    docker run -it --name test1 -v /data  nginx

    这种docker管理卷方式自动绑定到宿主机上的目录

    使用 docker inspect -f {{.Mounts}} nginx来查看,可以看到将宿主机的 _/data目录挂载到了容器的/data目录,可以理解为共享目录,无论在容器中编辑或者在宿主机编辑该共享目录,数据都会发生改变,容器的删除也不会影响宿主机共享目录的数据,也可以多个容器指定一个宿主机挂载目录

    2. Bind-mount Volume

    这种方式可以自动指定宿主机的目录挂载到容器特定目录中,上述这俩种方式都会自动创建挂载目录,效果与docker-managed volume

    docker run -it -v HOSTDIR:VOLUMEDIR --name  test2  docker.io/nginx

    docker inspect -f {{.Mounts}}  docker.io/nginx

    3.多个容器共享同一宿主机目录

    直接举例子“:

    容器1

    docker run -it --name web-2 --hostname nginx-1 -p 11111:80 --rm -v /tmp:/tmp 498

    查看已获取到了宿主机/tmp的数据

    容器2

    docker run --name web3 -it --hostname nginx-2 -p 22222:80 --volumes-from 3bf 498  (3bf是共享volumes的容器id,498是镜像id)

    使用docker inspect 容器id

     注:调用其它容器的volumes和使用-p指定绑定目录的效果是一致的

    即: -p /tmp:/tmp = --volumes-from 容器id

  • 相关阅读:
    异常处理 try catch throw(C++)
    Kubernetes轻量级日志收集系统LokiStack
    第一章.java
    第四章.选择结构(二)
    java语法
    第三章if选择结构
    第二章.数据类型变量名和运算符
    【转载】跳槽七诫
    【转载】修改shell终端提示信息
    ubuntu11.10面板上输入法图标消失解决办法
  • 原文地址:https://www.cnblogs.com/python-cat/p/10751452.html
Copyright © 2011-2022 走看看