zoukankan      html  css  js  c++  java
  • Docker 数据卷

    Docker 数据卷

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

    数据卷可以在容器之间共享和重用
    对数据卷的修改会立马生效
    对数据卷的更新,不会影响镜像
    卷会一直存在,直到没有容器使用
    
    创建

    在用 docker run 命令的时候,使用 -v 标记来创建一个数据卷并挂载到容器里。在一次 run 中多次使用可以挂载多个数据卷。
    例如:
    docker run -itd -p 6380:6380 -v /home/docker_test:/root/ --name volum_test aaf79d45ddb1

    #查看挂载
    # 方式1
    docker inspect dc00070e3903|grep "Source"
    "Source": "/home/docker_test",
    "Source": "/var/lib/docker/volumes/e3fb369eaf07fcbaf97f897dc3a5fad0615b3dbe0cba55d57232b272feef6a2b/_data",
    # 方式2
    docker inspect dc00070e3903|grep -10  "Mounts"
    {
    "Type": "bind",
    "Source": "/home/docker_test",
    "Destination": "/root",
    "Mode": "",
    "RW": true,
    "Propagation": "rprivate"
    }
    

    Docker 挂载数据卷的默认权限是读写,用户也可以通过 :ro 指定为只读。
    sudo docker run --rm -it -v ~/.bash_history:/.bash_history ubuntu /bin/bash 挂载单个文件

    docker run -itd -p 6380:6380 -v /home/docker_test:/root/:po --name volum_test aaf79d45ddb1

    数据卷容器

    docker run -itd -p 6391:6381 --volumes-from volum_test --name volum_test2 aaf79d45ddb1

    Dockerfile VOLUME
    #格式:
    	VOLUME ["/data"]
    #解释:
    #VOLUME 指令可以在镜像中创建挂载点,这样只要通过该镜像创建的容器都有了挂载点
    #通过VOLUME 指令创建的挂载点,无法指定主机上对应的目录,是自动生成的。
    #举例:
    	VOLUME ["/var/lib/tomcat7/webapps/"]
    
  • 相关阅读:
    N in 1 & 多重引导光盘制作
    可启动 ISO 合并、Windows 安装光盘合集
    VS 2005 VC++ 文件类型
    Windows 无人值守安装应答文件详解
    30种下载Youtube视频的方法
    解释YOUTUBE FLV 地址
    Windows下进程通信方式[转]
    进程通讯 DELPHI的类实现
    c#.net常用函数列表
    Javascript, How to make a Dress Up Game (Drag and Drop)
  • 原文地址:https://www.cnblogs.com/donghaoblogs/p/12177448.html
Copyright © 2011-2022 走看看