docker-- 卷】的更多相关文章

要解决的问题:在移除了现有容器或者添加了新容器时,之前容器的数据无法访问. 为避免上述问题,Docker提供了以下策略来持久化数据 tmpfs挂载 绑定挂载 卷 1.tmpfs挂载 2.绑定挂载 将Docker宿主机上的文件/目录挂载到容器中.注意:数据流在Docker宿主机和容器之间是双向流动的,任何破坏性的操作(比如删除一个目录)也都会对宿主机产生负面影响 # 将宿主机的主目录挂载到容器中一个名为host-name的目录[root@localhost chrome]# docker run…
一.不指定宿主机目录 首先运行一个nginx容器 docker run -d --name mynginx -p 8080:80 -v /usr/share/nginx/html nginx --name 指定容器名字 -v 表示把docker里面的目录/usr/share/nginx/html映射出来 通过inspect命令查看宿主机对应的目录 docker inspect mynginx 省略部分输出 "Mounts": [     {         "Type&quo…
什么是数据卷 overlay2存储卷 docker镜像是由多个只读层叠加而成,启动容器时,docker会加载只读镜像层,并在镜像栈顶部添加一个可写层 如果运行中的容器修改了现有的一个已存在文件,那该文件会从读写层下面的只读层复制到读写层,该文件的只读版本仍然存在,只是已经被读写层中的文件的副本所隐藏,即“写时复制(COW)”机制,但是这种机制有两个缺点: 因为这种存储机制是层级关系,因此读写效率很低 如果docker容器删除,那么数据卷也一并删除,数据得不到安全存储 容器间数据共享不方便 宿主机…
一.宿主机与容器的挂载 docker可以支持把一个宿主机上的目录挂载到镜像里.命令如下: docker run -it -v /mydownload:/download nginx:v1 /bin/bash 通过-v参数,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径. 现在镜像内就可以共享宿主机里的文件了. 默认挂载的路径权限为读写.如果指定为只读可以用:ro, 之后在容器内进行文件的操作,将报出以下错误 $ touch text.txt touch: cannot touch…
卷(Volume)是容器中的一个数据挂载点,卷可以绕过联合文件系统,从而为Docker 提供持久数据,所提供的数据还可以在宿主机-容器或多个容器之间共享.通过卷,我们可以可以使修改数据直接生效,而不必重新构建镜像. 数据卷 1.1 添加数据卷 1.2 卷位置 1.3 挂载本地数据到容器数据卷 数据卷容器 备份.恢复与迁移数据卷 3.1 备份数据卷 3.2 备份数据卷 1. 数据卷 数据卷是一个可以绕过联合文件系统的,专门指定的可在一或多个容器间共享目录.卷为提供为持久化或共享数据提供了一些有用的…
数据卷技术 数据卷手动挂载 数据卷容器 part1:数据卷挂载方式 数据卷手动挂载 -v 主机目录:容器目录 #核心参数 #示例 docker run -it --name=centos_test -v /home/wangxun/centos_test:/home centos /bin/bash docker inspect 容器id #查看容器的挂载卷是否挂载成功 数据卷手动挂载练习:安装mysql 手动挂载数据卷:实现数据的持久化保存 docker pull mysql:5.7 dock…
技术栈:1. 构建系统2. 镜像仓库3. 宿主机管理4. 配置管理5. 部署6. 编排7. 日志8. 监控 镜像:1. 如果用户像往常一样运行包安装命令,这些永远也用不上的缓存包文件将会永远地成为镜像的一部分.不过,如果用户在同一条安装命令中删除它们,这些文件就会像从未存在过一样.RUN xxxxxxxxxxxxxxxxxxx \&& xxxxxxxxxxxxxxxxxxx \&& rm -f ...... 通过环境变量将配置传递给容器内部 当用户需要包装一个无法通过环境变…
1.12 CLI 的问题 Docker1.12 命令行接口(CLI)有40多个顶级命令,这些命令存在以下问题: 没有归类组织,这让docker 新手很难学习: 有些命令没有提供足够的上下文环境,以至于我们不知道是在操作image 还是container(eg:docker inspect):这种在 image和 container 之间混合使用的命令让人困惑: 命令的名字缺乏一致性:比如:docker images 是个复数,这个命令用来列出所有的images, 而docker ps 是个单数,…
Device Mapper是一个基于kernel的框架,它增强了很多Linux上的高级卷管理技术.Docker的devicemapper驱动在镜像和容器管理上,利用了该框架的超配和快照功能.为了区别,本文使用Device Mapper指驱动中的框架,而devicemapper指Docker的存储驱动. 注意:商业支持的Docker Engine(CS-Engine)建议在RHEL和CentOS上使用devicemapper存储驱动. AUFS之外的另一种选择 Docker最初运行在Ubuntu和…
  这篇文章是我学习 Docker 的记录,大部分内容摘抄自 <<Docker - 从入门到实践>> 一书,并非本人原创.学习过程中整理成适合我自己的笔记,其中也包含了我自己的实践记录. 最近工作中遇到项目部署的问题,因为原先旧项目还需要继续在线服役,所以生产环境的一整套东西一直都停留在很低版本的 CentOS 中,很多时候想扩展或想部署一个新功能因为生产环境的问题而不得不花费更多的时间,有时候还不得不放弃.最要命的是我们新项目的开发环境是 Windows 环境,而且都是用较新的开…
Docker 的网络 运行 ifconfig 找到 docker0 : 虚拟网卡默认网卡名称为docker0 查看docker 的网桥: 我这里默认们没有进行安装 网桥管理设备:进行安装一下: yum install  bridge-utils 命令:查看网桥crctl show: 注意上图中的interfaces  这里为空,我们启动一个新的容器如下: 命令: docker run -d -it --name centos6 centos 我们进入容器中查看该容器的ip 地址 我这里的容器是最…
一.系统的基本架构 在以前的博客中有介绍过在物理机上搭建ELK日志分析系统,有兴趣的朋友可以看一看-------------->>链接戳我<<.这篇博客将介绍如何使用Docker来更方便快捷的搭建,架构图如下: 说明:WEB服务器代表收集日志的对象,由Filebeat收集日志后发送给Logstash2,再由Logstash2发送至Redis消息队列,然后由Redis发送至Logstash1,最后由ElasticSearch收集处理并由Kibana进行可视化显示.这里之所以需要两层L…
在学习Dockerfile的过程中有个VOLUME命令,很多教程或书中说的是用来定义匿名卷的,其作用如下: 容器运行时应该尽量保持容器存储层不发生写操作,对于数据库类需要保存动态数据的应用,其数据库文件应该保存于卷(volume)中,后面的章节我们会进一步介绍Docker 卷的概念.为了防止运行时用户忘记将动态文件所保存目录挂载为卷,在Dockerfile 中,我们可以事先指定某些目录挂载为匿名卷,这样在运行时如果用户不指定挂载,其应用也可以正常运行,不会向容器存储层写入大量数据. 这领我们想起…
理解OpenShift(1):网络之 Router 和 Route 理解OpenShift(2):网络之 DNS(域名服务) 理解OpenShift(3):网络之 SDN 理解OpenShift(4):用户及权限管理 理解OpenShift(5):从 Docker Volume 到 OpenShift Persistent Volume ** 本文基于 OpenShift 3.11,Kubernetes 1.11 进行测试 *** 1. 从 Docker Volume 到 OpenShift/K…
  一.Docker介绍 docker官网:https://www.docker.com/ Docker hub地址: https://hub.docker.com/   1.基本概念 Docker 是一个开源的应用容器引擎,基于 Go 语言   并遵从Apache2.0协议开源.Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app…
参考官方提供的安装教程:https://jenkins.io/doc/book/installing/,可以发现官方推荐使用Docker进行安装.虽然用Docker有很多好处,但也有缺点. 下面是各种安装方法: 无论怎么的安装方法,jenkins在启动时,都会在运行用户的目录下生成.jenkins文件夹,此文件夹用于存放配置和项目文件,因此,想要备份和迁移jenkins的可以在此文件夹入手. 一.Docker Docker运行简单,无需关心Java环境,但弊端是不能使用Docker版的Jenki…
转载请注明出处:http://blog.csdn.net/gamer_gyt 博主微博:http://weibo.com/234654758 Github:https://github.com/thinkgamer Docker江湖 [Docker江湖]之Docker部署与理解 [Docker江湖]之hub上镜像的使用,Dockerfile语法解读和数据管理 [Docker江湖]之创建带有SSH服务的镜像 写在前边的话     在之前便想学习Docker技术了,可是一直没有机会,近期在做elk的…
如何创建MySQL的PXC集群 下载PXC集群镜像文件 下载 docker pull percona/percona-xtradb-cluster 重命名 [root@hongshaorou ~]# docker tag docker.io/percona/percona-xtradb-cluster pxc 创建内部网络 处于安全考虑,需要给PXC集群实例创建Docker内部网络 创建网段:   [root@hongshaorou ~]# docker network create --sub…
docker默认有2种方式用于持久化数据,volumes和bind mounts,也可以使用tmpfs,其中使用volume是持久化数据的最好方式,volume由docker控制管理,使用docker volume create创建一个volume时,其目录会生成到/var/lib/docker/volumes目录下.volumes和bind mounts用于将数据持久化到硬盘中,tmpfs的数据只存在于内存中,主要用于存储容器运行过程中的临时数据.容器运行中如果会产生大量无需持久化的数据,建议…
centOS安装教程:https://docs.docker-cn.com/engine/installation/linux/docker-ce/centos/ 一.常用命令 docker build -t friendlyname .# 使用此目录的 Dockerfile 创建镜像 docker run -p 4000:80 friendlyname # 运行端口 4000 到 90 的“友好名称”映射 docker run -d -p 4000:80 friendlyname # 内容相同…
提到虚拟化技术,我们首先想到的一定是 Docker,经过四年的快速发展 Docker 已经成为了很多公司的标配,也不再是一个只能在开发阶段使用的玩具了.作为在生产环境中广泛应用的产品,Docker 有着非常成熟的社区以及大量的使用者,代码库中的内容也变得非常庞大. 同样,由于项目的发展.功能的拆分以及各种奇怪的改名 PR,让我们再次理解 Docker 的的整体架构变得更加困难. 虽然 Docker 目前的组件较多,并且实现也非常复杂,但是本文不想过多的介绍 Docker 具体的实现细节,我们更想…
目录 一.存储卷的概念和类型 二.emptyDir存储卷演示 三.hostPath存储卷演示 四.nfs共享存储卷演示 五.PVC和PV的概念 六.NFS使用PV和PVC 1.配置nfs存储 2.定义PV 3.定义PVC 4.测试访问 七.StorageClass 八.配置容器应用:Secret和configMap 8.1.Secret解析 创建 Secret的2种方式 如何使用Secret?? 8.2.ConifgMap解析 ConfigMap创建方式 如何使用configMap?? 一.存储…
docker pull mesosphere/mesos-master:1.4.0 docker pull mesosphere/mesos-slave:1.4.0 在Docker中运行Mesos的推荐方式是在自己的机器上运行每个主站和从站容器,并使用自己的IP. 主机网络(--net =host)建议. 虽然Mesos可以在桥接网络中运行,但速度较慢,并且有许多警告和配置复杂性. 对于开发或实验,一台主机和一台从机可以在同一台机器上运行. 以下命令使用主机网络,使用Exhibitor / Zo…
.Docker概念简介 1.1 Docker的应用场景 1.2 Docker的优势 1.3 Docker架构 1.4 Dorcker核心概念 Dockerfile.Docker镜像和Docker容器的关系 Dockerfile与Docker镜像 Docker镜像与Docker容器的关系 1.5 Docker特性 1.6 传统虚拟技术的区别 1.7 docker 的四种网络模式 . Docker的安装 . Docker命令 3.1 容器相关操作 3.2 获取容器相关信息 3.3 导出容器 3.4…
Namespaces 命名空间(namespaces)是 Linux 为我们提供的用于分离进程树.网络接口.挂载点以及进程间通信等资源的方法.在日常使用 Linux 或者 macOS 时,我们并没有运行多个完全分离的服务器的需要,但是如果我们在服务器上启动了多个服务,这些服务其实会相互影响的,每一个服务都能看到其他服务的进程,也可以访问宿主机器上的任意文件,这是很多时候我们都不愿意看到的,我们更希望运行在同一台机器上的不同服务能做到完全隔离,就像运行在多台不同的机器上一样. 在这种情况下,一旦服…
Docker存储驱动程序 理想情况下,将非常少的数据写入容器的可写层,并使用Docker卷来写入数据.但是,某些工作负载要求您能够写入容器的可写层.这是存储驱动程序的用武之地. Docker使用可插拔架构支持多种不同的存储驱动程序.存储驱动程序控制在Docker主机上存储和管理映像和容器的方式. 阅读完存储驱动程序概述后,下一步是为工作负载选择最佳存储驱动程序.在做出此决定时,需要考虑三个高级别因素: 如果内核支持多个存储驱动程序,则假设满足该存储驱动程序的先决条件,Docker会在没有显式配置…
关于存储驱动程序 要有效地使用存储驱动程序,了解Docker如何构建和存储镜像以及容器如何使用这些镜像非常重要.您可以使用此信息做出明智的选择,以确定从应用程序中保留数据的最佳方法,并避免在此过程中出现性能问题. 存储驱动程序允许您在容器的可写层中创建数据.容器停止后,文件将不会保留,并且读取和写入速度都很低. 了解如何使用volumes来保存数据并提高性能. FROM ubuntu:15.04 COPY . /app RUN make /app CMD python /app/app.py 此…
使用桥接网络 在网络方面,桥接网络是链路层设备,它在网络段之间转发流量.桥接网络可以是硬件设备或在主机内核中运行的软件设备. 就Docker而言,桥接网络使用软件桥接器,该软件桥接器允许连接到同一桥接网络的容器进行通信,同时提供与未连接到该桥接网络的容器的隔离.Docker桥驱动程序会自动在主机中安装规则,以便不同桥接网络上的容器无法直接相互通信. 桥接网络适用于在同一个 Docker守护程序主机上运行的容器.对于在不同Docker守护程序主机上运行的容器之间的通信,您可以在操作系统级别管理路由…
配置direct-lvm模式 1.  停止Docker systemctl stop docker 2.  安装依赖包 device-mapper-persistent-data,lvm2, and all dependencies 3.  创建物理卷/dev/md123p1来替换块设备 [root@localhost ~]# pvcreate /dev/md123p1 WARNING: ext4 signature detected on /dev/md123p1 at offset 1080…
原文地址 在部署 registry 之前需要现在主机上安装 Docker.registry 实际上就是运行在 Docker 中的 registry 镜像的实例. 本主题提供关于部署和配置 registry 的基本信息.要查看配置选项列表,请参考 配置手册. 如果你有 air-gapped 数据中心,参考 air-gapped registries 的注意事项. 1. 运行本地 registry 使用下面命令来启动 registry 容器: $ docker run -d -p 5000:5000…