zoukankan      html  css  js  c++  java
  • Docker 容器的数据卷 以及 数据卷容器

    Docker 容器删除后,在容器中产生的数据还在吗? 答案是 不在
    Docker 容器和外部机器可以直接交换文件吗? 在没有数据卷的情况下,答案是 不可以
    如下图:外部机器:Windows系统(自己的电脑)  宿主机:centOS7  容器:docker容器
    容器之间想要进行数据交互? 在没有数据卷的情况下,答案是 不可以
    那么 究竟什么是数据卷?
    数据卷(注意,只有当宿主机上的目录被容器挂载的时候,才称之为叫数据卷)
    • 数据卷是宿主机中的一个目录或文件
    • 当容器目录和数据卷目录绑定后,对方的修改会立即同步
    • 一个数据卷可以被多个容器同时挂载
    • 一个容器也可以被挂载多个数据卷
    数据卷作用
    • 容器数据持久化
    • 外部机器和容器间接通信
    • 容器之间数据交换
     
    配置数据卷
    ⚫ 创建启动容器时,使用 –v 参数 设置数据卷
    docker run ... –v 宿主机目录(文件):容器内目录(文件) ...
    docker run -it --name=c1 -v /usr/local/soft/dockerdir:/usr/local/soft/dockerdata centos:7 /bin/bash
    ⚫ 注意事项:
    1. 目录必须是绝对路径
    2. 如果目录不存在,会自动创建
    3. 可以挂载多个数据卷 
    配置数据卷容器
    1. 创建启动c3数据卷容器,使用 –v 参数 设置数据卷(docker会自动分配到宿主机上一个目录,这里的 /volume是容器中的一个目录,名字可自定义
    docker run –it --name=c3 –v /volume centos:7 /bin/bash
    2. 创建启动 c1 c2 容器,使用 –-volumes-from 参数 设置数据卷
    docker run –it --name=c1 --volumes-from c3 centos:7 /bin/bash
    docker run –it --name=c2 --volumes-from c3 centos:7 /bin/bash
    
    数据卷小结
    1. 数据卷概念
    •宿主机的一个目录或文件
    2. 数据卷作用
    •容器数据持久化
    •客户端和容器数据交换
    •容器间数据交换
    3. 数据卷容器
    •创建一个容器,挂载一个目录,让其他容器继承自该容器( --volume-from )。
    •通过简单方式实现数据卷配置
     
  • 相关阅读:
    svn cleanup failed–previous operation has not finished 解决方法
    开源SNS社区系统推荐
    从网络获取图片本地保存
    MS SQL Server 数据库连接字符串
    KeepAlive
    Configure Git in debian
    sqlserver query time
    RPi Text to Speech (Speech Synthesis)
    SQL Joins with C# LINQ
    search or reseed identity columns in sqlserver 2008
  • 原文地址:https://www.cnblogs.com/wyh-study/p/13897167.html
Copyright © 2011-2022 走看看