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:

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


  • 相关阅读:
    centos shell运行报语法错误: 未预期的文件结尾
    腾讯云防暴力破解防异地登陆
    centos常用命令
    centos7安装nginx
    JavaScript数组倒序函数reverse()
    Ecshop首页购物车数量调取问题
    (原)IPhone开发时把ToolBar中的元素居中的技巧
    iphone开发常用代码笔记
    Windows环境下使用Apache+mod
    [转]C++中sizeof(struct)怎么计算?
  • 原文地址:https://www.cnblogs.com/onenoteone/p/12441690.html
Copyright © 2011-2022 走看看