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

    创建数据卷:docker run -d -P -it --name web1 -v /webapp training/webapp /bin/bash

    (使用training/webapp镜像创建一个web1容器,并创建一个数据卷挂载到容器的/webapp目录)

    -v标记创建一个数据卷(名字叫webapp)并且挂载到容器(training/webapp)里。
    --name指定容器的名称web1
    -d是指守护状态下运行(daemon)

    -v标记也可以指定挂载一个本地的已有目录到容器中去作为数据卷(推荐方式)。

    docker run -d -P --name web -v /tmp/webapp:/opt/webapp training/webapp /bin/bash

    (挂载主机上/tmp/webapp目录,到容器的/opt/webapp下作为数据卷)


    数据卷容器

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

    首先,创建一个数据卷容器dbdata,并在其中创建一个数据卷挂载到/dbdata:

    docker run -ti -v /dbdata --name dbdata ubuntu

    然后,可以在其他容器中使用--volumes-from来挂载dbdata容器中的数据卷.

    例如创建db1和db2两个容器,并从dbdata容器挂载数据卷

    docker run -ti --volumes-from dbdata --name db1 ubuntu

    docker run -ti --volumes-from dbdata --name db2 ubuntu

    此时容器db1和db2都挂载同一个数据卷到相同的/dbdata目录。三个容器任何一方在该目录下的写入,其他容器都可以看到。


    数据卷容器备份

    1.挂载本地文件到容器内:

    docker run --volumes-from db1 -v $(pwd):/docker --name db3 -it ubuntu /bin/bash
    (把本地当前控制台所在目录$(pwd),挂载到容器db1的docker目录,指定为新容器db3(db1不会改动))

    控制台所在目录$(pwd)下内容有:

    进入db3容器内,发现相比db1多了docker目录,进入docker目录,多了docker文件(就是上面控制台所在目录的docker目录):

    在本地机器上,对本地docker目录进行操作,新增文件:

    进入容器db3,发现本地上的操作同步到了容器上:

    对容器内进行操作,新增文件b.txt:

    进入本地文件,发现,容器内操作同步到了本地


  • 相关阅读:
    p标签中的文字垂直居中
    前端调试F12
    python之hashlib
    python之__new__()
    python深浅拷贝与赋值
    【Python3之socket编程】
    5月26号 JAVA基础语法 基本运算符
    5月25号 JAVA基础语法 变量 常量 作用域
    5月22号 JAVA基础语法 数据类型
    5月22号 JAVA基础语法 标识符和关键字
  • 原文地址:https://www.cnblogs.com/onenoteone/p/12441690.html
Copyright © 2011-2022 走看看