将Docker主机数据挂在到容器中
dcoker 提供三种不同的方式将数据从宿主机挂载到容器中:volumes,bind mounts, tmpfs。
volumes: Docker管理宿主机文件系统的一部分(/var/lib/docker/volumes)
bind mounts: 存储在宿主机系统的任意位置,主要是将宿主机上的某个文件目录挂在到docker下供数据存储。
tmpfs:挂载存储在宿主机系统的内存中,不会写入宿主机的文件系统。

管理卷:
docker volume create tomcat8081
docker volume inspect tomcat8081
用卷创建一个容器(系统例子):
docker run -itd --name=ng01 -p 91:80 --mount src=ng01,dst=/usr/share/nginx/html nginx
或者:
docker run -itd --name=ng01 -p 89:80 -v ng01:/usr/share/nginx/html nginx
如果对应到自己的容器中,就要根据镜像查找对应的默认安装目录,并设置要保存的对应目录
比如tomcat的默认安装路径为
/usr/local/tomcat那么,我们创建容器的语句为
docker run -itd --name=tomcat8081 -p 8081:8080 --mount src=tomcat8081,dst=/usr/local/tomcat/webapps tomcat
有时候我们可能会用到挂载多个数据卷的情况,使用命令:
docker run -itd --name=tomcat8082 -p 8082:8080 --mount src=volume_Name1,dst=/usr/local/tomcat/webapps --mount src=volume_Name2,dst=/usr/local/tomcat/conf tomcat
#进入container控制台命令
docker exec -it tomcat8082 /bin/bash #tomcat8082为容器名称
#不指定卷会自动创建
docker run -itd --name=ng01 -p 90:80 --mount src=,dst=/usr/share/nginx/html nginx
创建的卷所在位置:
/var/lib/docker/volumes/
删除卷:
docker volume rm ng01
删除容器:
docker container stop ng01
docker container rm ng01
bind形式绑定
docker run -itd --name=ng01 --mount type=bind,src=/root/app,dst=/usr/share/nginx/html nginx
或者
docker run -itd --name=ng -p 88:80 -v /root/app:/usr/share/nginx/html nginx
查看容器详情
docker inspect ng01
#如果源文件、源目录不存在,不会自动创建,会报错。
#挂载目标在容器中非空目录,则该目录现有内容将被隐藏
volume特点:
1、多个运行容器之间的共享数据,多个容器可以同时挂载相同的卷。
2、当容器停止或被移除时,该卷依然存在
3、当明确删除卷时,卷才会被删除
4、将容器的数据存储在远程主机或其他存储
5、将数据从一台docker主机迁移到另一台时,先停止容器,然后备份卷的目录(/var/lib/docker/volumes
)
bind mount 特点:
1、从主机共享配置文件到容器,默认情况下,挂载主机/etc/resolv.conf到每个容器,提供dns解析
2、在docker主机上的开发环境和容器之间共享源代码。 例如,将maven target目录挂载到容器中, 每次在docker主机上构建maven项目时,容器都可以访问构建的项目包。
3、当docker主机的文件或目录结构保证与容器所需的绑定挂载一致时
将Docker主机数据挂在到容器中的更多相关文章
- docker挂载war包到tomcat容器中的注意点和坑
刚开始用docker,难免会遇到很多坑,这里分享一下: 一 挂载最好挂载目录 我刚开始挂载war包,结果发现容器里把挂载的war包当成目录了 二 本地路径必须是绝对路径,否则不管用 三 容器中使用vi ...
- Docker 镜像,dump openjdk-alpine 镜像容器中的 jvm
默认情况下,我们使用的都是 jre 版本的 openjdk,当容器启动卡住不动的时候,看不出来任何问题. 此时如果能 dump 就能知道线程在干啥,也能找到一些大概的问题. 此时 jre 版本的镜像就 ...
- Docker创建镜像文件并在容器中运行
1.如何创建镜像文件 首先找到Docker ToolBox安装的路径,在路径下直接新建Dockerfile文件 在Dockerfile文件里写入的内容为: FROM docker/whalesay:l ...
- [docker] 管理docker容器中的数据
之前我们介绍了Docker的基本概念(前面的没翻译...),了解了如何使用Docker镜像进行工作,并且学习了网 络和容器之间的链接.这一节我们将讨论如何管理容器中及容器之间的数据. 我们将查看下面两 ...
- Docker数据管理(数据卷&数据卷容器)
生产环境中使用Docker的过程中,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这必然涉及容器的数据管理操作. 容器中管理数据主要有两种方式: 数据卷(Data Volumes):容 ...
- 在 Docker 容器中运行应用程序
案例说明 运行 3 个容器,实现对网站的监控. 三个容器的说明: 容器 web: 创建自 nginx 映像,使用 80 端口,运行于后台,实现 web 服务. 容器 mailer: 该容器中运行一个 ...
- docker基础---数据卷volumes
1.数据卷 数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性: 数据卷可以在容器之间共享和重用 对数据卷的修改会立马生效 对数据卷的更新,不会影响镜像 卷会一直存在 ...
- Docker之数据卷Volume(七)
一.简介 Docker数据卷(volume)机制.volume是存在于一个或多个容器中的特定文件或文件夹,这个目录以独立于联合文件系统的形式在宿主机中存在,并为数据的共享与持久化提供便利. 1)v ...
- 无需安装 vsftpd , 直接使用 FTP 来管理 docker 容器中的文件
无图无真相,先放个效果图: 背景 使用 docker 来跑一些服务很方便,但是有的时候想管理容器里面的文件却很麻烦 -- 一般常规做法有3种: 通过数据卷或数据卷容器的方式 启动容器的时候时候 ...
随机推荐
- 【Django】搭建Django administration并登录
Python自带一个后台管理系统,这个后台管理系统搭建与登陆呢? 新建项目Django_Admin 文件结构目录如下: 创建APP 在pycharm下方的terminal终端中输入命令: python ...
- 域名、主机名与URL
什么是域名? google.com.baidu.com.163.com等. 域名.主机名与URL例子 例子1: http://mail.163.com/index.html 1)http://:这个是 ...
- windows的 附件到底是什么东东?
附件, 包括其父目录"所有程序" -> "开始菜单", 其实都是一个目录而已!! 要对"开始菜单"下的所有内容进行 自定义 : 添加删 ...
- python - 代码调试的好帮手sys._getframe()
python 的调试,令人非常忧伤,通过将输出路径打印的方式,可以提高很大的方便性: import sys #coding=utf-8 def get_cur_info(): print sys._g ...
- tomcat7源码包编译安装
tomcat/:作用解析jsp程序.先安装jdk容器.1.下载jdk, wget http://download.oracle.com/otn- pub/java/jdk/8u131- b11/d54 ...
- 数据科学家人才危机现象,是FOMO还是Silver?
数据科学家人才危机现象,是FOMO还是Silver? 数据科学家的人才短缺和薪水高涨已经达到了顶板,未来还会持续下去吗? 在过去几年中,高级分析(#大数据#分析)空间一直经历着严重的FOMO(害怕错过 ...
- MySQL学习-预备知识
开始今日份整理 1. 数据库介绍 1.1 数据库定义 数据库是一个由一批分明别类的数据构成的有序集合,这个集合通常被保存为一个或多彼此相关的文件,我们可以理解为,数据库就是一种特殊的文件,其中存储着我 ...
- EFI系统分区如何删除
U盘或者硬盘被做了系统安装盘. 结果在格式化都是失败,分区也不行. 有了新招 EFI分区是您的系统启动引导的分区,存放引导启动的文件的,因此它是一个操作系统独立的分区,实际上它是UEFI加载的固件和应 ...
- jQuery中this与$(this)的区别总结
这里就谈谈this与$(this)的区别. 1.jQuery中this与$(this)的区别 $("#textbox").hover( function() { this.titl ...
- STM32f103软件复位
参考博客: http://bbs.21ic.com/icview-1251690-1-1.html stm32f103rct 软件复位函数: 在core_cm3.h文件 static __INLINE ...