启动一个数据容器并挂载本地目录

docker run -itd --name=volume /opt/volume:/tmp/volume --privileged docker.io/nginx-tomcat /bin/bash
[root@a9d5e18d5b2f /]# ll /tmp/
total 4
-rwx------ 1 root root 836 Mar 2 01:07 ks-script-IAlIsB
drwxr-xr-x 2 root root 20 Mar 23 02:55 volume

挂载上面volume 容器里的数据卷

docker run -it --name=volume1 --volumes-from volume --privileged=true docker.io/nginx-tomcat /bin/bash --volumes-from

挂载 volume1  到  新容器里   (把已经挂载的数据卷,再挂载到新容器里)

docker run -it --name=volume2 --volumes-from volume1 --privileged=true nginx.io/nginx-tomcat /bin/bash

利用数据卷容器备份、恢复

(1)备份 
docker run --name=backup --volumes-from volume -v $(pwd):/backup --privileged=true tt/centos-test:test tar cvf /backup/backup.tar /tmp/volume 
启动一个名字为backup的容器,从volume加载数据卷,并把当前目录挂载为容器的数据卷,对应到容器的/backup目录,然后使用tar命令把容器中的目录/tmp/volume压缩为/backup/backup.tar文件,也就是压缩到了主机的当前目录。 

(2)恢复 
docker run -dit -v /root/recovery:/tmp/volume --name=recovery --privileged=true tt/centos-test:test /bin/bash 启动一个数据卷容器recovery,并把主机的/root/recovery目录挂载为容器的/tmp/volume目录。 

docker run --volumes-from recovery -v $(pwd):/backup --privileged=true tt/centos-test:test tar xvf /backup/backup.tar 启动一个容器并挂载上述的recovery容器的数据卷,并把主机的当前目录(与之前压缩的是同一个目录,因为压缩包在这个目录中)挂载到容器中,然后利用tar命令解压压缩包,因为一进入容器是在/根目录,所以解压的文件会放在/tmp/volume中,也就对应与主机的/root/recovery目录,所以查看主机的/root/recovery可查看到文件,查看容器的/tmp/volume目录也可查看到文件。 

容器互联

先启动tomcat

docker run -itd --privileged --name=tomcat docker.io/tomcat8 /usr/sbin/init   tomcat默认8080所以这里没有指定外网端口
docker exec -it tomcat bash
systemctl start tomcat

启动nginx时连接tomcat

docker run -itd -p 80:80 --privileged --name nginx-hulian --link tomcat:tomcat docker/nginx /usr/sbin/init   启动
docker exec -it nginx-hulian bash 进入容器
vi /etc/nginx/conf.d/default.conf 修改转发 location / {
root /usr/share/nginx/html;
index index.html index.htm;
proxy_pass http://tomcat:8080/;
} systemctl start nginx.service

进入tomcat容器添加index.html

[root@f474c8bd0bee ROOT]# pwd
/usr/share/tomcat/webapps/ROOT
[root@f474c8bd0bee ROOT]# cat index.html
9999999999
[root@f474c8bd0bee ROOT]#

容器连接访问成功

docker—数据卷的更多相关文章

  1. docker 数据卷之进阶篇

    笔者在<Docker 基础 : 数据管理>一文中介绍了 docker 数据卷(volume) 的基本用法.随着使用的深入,笔者对 docker 数据卷的理解与认识也在不断的增强.本文将在前 ...

  2. docker 数据卷 ---- 进阶篇

    笔者在<Docker 基础 : 数据管理>一文中介绍了 docker 数据卷(volume) 的基本用法.随着使用的深入,笔者对 docker 数据卷的理解与认识也在不断的增强.本文将在前 ...

  3. 实例解析Docker数据卷+数据卷容器+flocker数据共享+DockerHub操作

    Docker内部数据管理和Docker之间的数据共享为数据卷和数据卷容器,实例解析1.将本地的文件作为容器的数据卷,2.数据卷flocker插件实现容器集群(或者Docker Swarm)的数据共享3 ...

  4. docker数据卷学习-利用数据卷实现mysql的快速恢复和迁移

    docker数据卷学习 一 新建带有数据卷的容器 1.从docker hub下载centos7镜像 # docker pull centos 2. 创建container # docker run - ...

  5. docker数据卷挂载

    docker数据卷挂载笔记 我们的服务运行时必不可少的会产生一些日志,或是我们需要把容器内的数据进行备份,甚至多个容器之间进行数据共享,这必然涉及容器的数据管理操作. 容器中管理数据主要有两种方式: ...

  6. Docker学习第三天(Docker数据卷管理)

    1.Docker数据卷管理 在Docker中,要想实现数据的持久化(所谓Docker的数据持久化即数据不随着Container的结束而结束),需要将数据从宿主机挂载到容器中.目前Docker提供了三种 ...

  7. Docker学习笔记之使用Docker数据卷

    Docker数据卷将数据存储到主机而非容器,多个容器需要共享数据时,常常使用数据卷. 1. 为容器设置数据卷(不指定主机目录) 2. 容器与主机之间.容器与容器之间共享数据卷(指定主机目录) 3. 使 ...

  8. docker数据卷(Data Volumes)

    Docker宿主机和容器之间文件拷贝docker copy 前言: Docker 数据管理 在生产环境中使用 Docker ,往往需要对数据进行持久化,或者需要在多个容器之间进行 数据共享,这必然涉及 ...

  9. 『现学现忘』Docker基础 — 33、Docker数据卷容器的说明与共享数据原理

    目录 1.数据卷容器的说明 2.数据卷容器共享数据原理 3.总结 4.练习:MySQL实现数据共享 1.数据卷容器的说明 (1)什么是数据卷容器 一个容器中已经创建好的数据卷,其它容器通过这个容器实现 ...

  10. docker数据卷技术

    数据卷技术 数据卷手动挂载 数据卷容器 part1:数据卷挂载方式 数据卷手动挂载 -v 主机目录:容器目录 #核心参数 #示例 docker run -it --name=centos_test - ...

随机推荐

  1. NGINX工作原理(2)

    Nginx由内核和模块组成. Nginx本身做的工作实际很少,当它接到一个HTTP请求时,它仅仅是通过查找配置文件将此次请求映射到一个location block,而此location中所配置的各个指 ...

  2. Reducing Snapshots to Points: A Visual Analytics Approach to Dynamic Network Exploration

    ---恢复内容开始--- 分析静态网络的方法:(1)节点链接图 (2)可视化邻接矩阵 and(3)hierarchical edge bundles. 分析网络演变的方法:(1)时间到时间的映射和(2 ...

  3. C语言字符串函数总结

    原文链接 函数名: stpcpy 功 能: 拷贝一个字符串到另一个 用 法: char *stpcpy(char *destin, char *source); 程序例: #include <s ...

  4. Docker架构及其三要素

    1.Docker架构 a.Docker客户端和服务端   Docker是客户-服务器(C/S)架构的程序.Docker客户端只需向Docker服务器或守护进程发出请求,服务器或守护进程将完成所有工作并 ...

  5. emwin之窗口ID的唯一性

    @2019-04-30 [小记] emwin窗口ID是唯一的 emwin多次创建同一窗口,则窗口句柄不同,多次删除窗口采取LIFO机制,即最新创建的窗口被首先删除 获取多次创建同一窗口的ID,准确位置 ...

  6. 【转载】C++ 11中的右值引用

    本篇随笔为转载,原博地址如下:http://www.cnblogs.com/TianFang/archive/2013/01/26/2878356.html 右值引用的功能 首先,我并不介绍什么是右值 ...

  7. keras训练大量数据的办法

    最近在做一个鉴黄的项目,数据量比较大,有几百个G,一次性加入内存再去训练模青型是不现实的. 查阅资料发现keras中可以用两种方法解决,一是将数据转为tfrecord,但转换后数据大小会方法不好:另外 ...

  8. jvm中的新生代Eden和survivor区

    1.为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能.你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我 ...

  9. Tableau预测

    Tableau可以通过对现有的数据进行预测.

  10. 简单使用logback日志框架

    logback_config.xml 配置文件信息 <?xml version="1.0" encoding="UTF-8"?> <confi ...