首页
学习
活动
专区
工具
TVP
发布

云+技术

专栏成员
130
文章
200154
阅读量
32
订阅数
Docker如何管理数据
http://os.51cto.com/art/201406/443516.htm 到目前我们介绍了一些Docker的基础概念, 知道了如何使用Docker的p_w_picpath, 也知道了如何在多个container间通过网络通讯. 在这章里我们将介绍如何在docker的container内管理数据以及如何在不同的container间共享数据。 我们将介绍两种主要的在docker中管理数据的方法: Data volumes Data volume container Data volumes 一个 data volume 就是一个在一个或者多个container里的特殊用途的目录。它绕过了 Union File System (译者: 这里不确定, 需要研究)为持久化数据、共享数据提供了下面这一些有用的特性: Data volumes 可以在不同的container之间共享和重用数据 对 Data volume 的修改及时生效(译者:data volumn是一个目录, 多个container都挂载这个目录, 具体的可以通过 docker inspect 看 volumne的信息) 对 data volume 修改内容在升级p_w_picpath的时候不会被包括进去 (译者:在docker的整个设计中p_w_picpath是一个无状态的, 这样对升级重用非常有利。而标记状态的数据, 比如数据库的数据, 生产的log之类的应该放到volume里。volume的持久化和恢复在下面有介绍, 是通过文件的形式的, 而不是通过p_w_picpath) Volumes 的持久化直到没有container使用他们 添加数据卷 你可以在docker run 的时候使用 -v 来添加一个 data volume。这个参数在docker run 的时候可以多次使用来添加多个 data volumes。让我们为我们的web application container挂载一个 volume。 $ sudo docker run -d -P --name web -v /webapp training/webapp python app.py 这里一个新的volume会创建到container里的 /webapp. (译者:如果你通过ssh或者通过 -i 登陆到你的container的一个shell里, 使用 ls /webapp 可以验证挂载成功了) 注意: 你也可以在Dockerfile里添加 VOLUME 字段,这样在创建一个新的p_w_picpath的 container是就会自动的创建新的volume. 安装一个目录作为数据卷 使用 -v 不仅能创建一个新的 volume, 还可以把宿主机一个目录mount到container里。 $ sudo docker run -d -P --name web -v /src/webapp:/opt/webapp training/webapp python app.py 这条命令会把本地目录 /src/webapp mount到container里的 /opt/webapp 目录上。用这个方法来测试程序非常 方便, 比如我们可以把我们的源代码通过这个方法mount到container里, 修改本地代码后立即就可以看到修改后的代码是如何在container里工作的了。宿主机的目录必须是绝对路径, 如果这个目录不存在docker会为你自动创建。 注意 这里是没法用 Dockerfile实现的, 因为这样的用法有悖于可移植性和共享. 因为本地目录就像他名字告诉我们的, 是和本地相关的, 不一定可以在所有的宿主机上工作.(译者: 鬼知道你在使用p_w_picpath的时候的host是啥样子的) Docker默认设置volume是可读写的,但是我们也可以mount一个目录为只读: $ sudo docker run -d -P --name web -v /src/webapp:/opt/webapp:ro training/webapp python app.py 这里我们同样mount了 /src/webapp 目录, 但是我们加上了 ro 参数, 告诉docker这个volume是只读的. 创建并安装数据卷容器 如果你有一些持久化的数据, 并且想在不同的container之间共享这些数据, 或者想在一些没有持久化的container中使用, 最好的方法就是使用 Data Volumn Container, 在把数据mount到你的container里.(译者:如开篇译者提到的docker的container是无状态的, 也就是说标记状态的数据,例如:数据库数据, 应用程序的log 等等, 是不应该放到container里的, 而是放到 Data Volume Container里, 这点和f
DevinGeng
2019-04-09
1K0
分布式监控之Zabbix-Proxy
Zabbix proxy 是一个或多个从监控设备收集监测数据和发送到zabbixserver 的进程,属于代表zabbix server 的运行,所有收集到的数据被暂时存放在代理服务器,之后统一由代理服务器转发给zabbix proxy 所属的服务器,部署proxy是可选的,但是对于分担单个zabbix服务器的负载是非常有益的。如果尽在proxies上收集数据,那么将减轻服务器上的进程对cpu资源和磁盘I/O的消耗。
DevinGeng
2019-04-09
1.1K0
ubuntu dpkg 软件卸载
在Debian中卸载和清除软件包是两个不同的概念. 不同之处在于软件包被删除(卸载)后,它的配置文件仍会留在系统中,只有清除时才会删除它们. 默认情况下, Debian 仅会做删除操作, 除非你明确指出, 才会将配置文件删除. 如果要清除软件包, 则在清除前将会隐含地执行删除操作.要删除一个软件包,dpkg需要使用--remove选项将软件包卸载.与安装不同,删除只需要软件包名,而不是实际的deb文件名.
DevinGeng
2019-04-09
6.6K0
Virtual Network Midonet闲扯
下面呢介绍下Midonet由来,MidoNet是由日本的SDN公司Midkura研发的一款网络虚拟化软件,其基于底层 物理设施来实现网络虚拟化,具有分布式、分散、多层次的特点,主要作为OpenStack 中的默认网络组件,可以让虚拟网络解决方案,特别是专为网络基础设施设计的方案,为云平台如OpenStack服务,并且将其网络存贮栈虚拟化。
DevinGeng
2019-04-09
5320
mysql AB复制搭建以及常见故障排查
MySQL主从复制(Master-Slave)也叫AB复制,Mysql作为目前世界上使用最广泛的免费数据库,相信所有从事系统运维的工程师都一定接触过。但在实际的生产环境中,由单台Mysql作为独立的数据库是完全不能满足实际需求的,无论是在安全性,高可用性以及高并发等各个方面。因此,一般来说都是通过主从复制(Master-Slave)的方式来同步数据,再通过读写分离(MySQL-Proxy)来提升数据库的并发负载能力这样的方案来进行部署与实施的。
DevinGeng
2019-04-09
7360
实战Zabbix-Server数据库mysq的libdata1文件过大
今天我们的zabbix-server机器根空间不够了,我一步步排查结果发现是/var/lib/mysql/下的libdata1文件过大,已经达到了41G。我立即想到了zabbix的数据库原因,随后百度、谷歌才知道zabbix的数据库他的表模式是共享表空间模式,随着数据增长,ibdata1 越来越大,性能方面会有影响,而且innodb把数据和索引都放在ibdata1下。
DevinGeng
2019-04-09
1.1K0
OpenStack icehouse系列之控制节点搭建
大家都知道openstack是目前最热门、最火的一个开源云计算软件。OpenStack是IaaS(基础设施即服务)组件,让任何人都可以自行建立和提供云端运算服务。
DevinGeng
2019-04-09
8360
OpenStack icehouse系列之问题处理
众所周知搭建是很容易的、往往排错是很头疼的、下面我分享下我在搭建的过程中遇到的问题和解决办法。
DevinGeng
2019-04-09
6430
开源云平台 CloudStack 4.1.0 安装以及故障处理
CloudStack是一个功能强大、UI友好的开源云(IaaS)计算解决方案。自Ctrix将CloudStack捐献给 apache 后,一直持续高速发展,其社区活跃度已经渐渐赶上风头一时无两的另一开源云OpenStack平台。 CloudStack拥有所有开源云平台中最为友善的管理界面,而且其天生的多语种支持会使中文用户感觉很爽。 今天我们来详细介绍一下CloudStack最新版本 4.1.0 在 CentOS 6.4 下的安装部署的步骤。鉴于网上文章一大抄,很多内容都是装来装去一大堆东西,看官们一会就晕了,根本不了解为什么装这些程序,装来是干什么的。这回呢,我会把每一步说明尽可能详细一些,外加我的经验和理解(不少心得是重装了10次以上后得出的),希望能让后来者可以少走些弯路。 CloudStack可分为管理节点安装和受控节点安装。 管理节点安装无特殊要求,完全可以安装到虚拟机环境下。 受控节点因要创建虚拟机,故需要硬件虚拟化支持,推荐使用独立主机安装。CloudStack支持多种虚拟化方案,包括:KVM、Xen、XenServer、VMware。因XenServer、VMware已包含有强大的虚拟机管理功能,CloudStack可以直接与其通信调用其管理接口,因此这两种受控机环境下,无需安装任何软件。但KVM、Xen的受控机必须安装 CloudStack-Agent 之后,才能被CloudStack管理。 本篇我们主要来讲解管理节点搭建步骤: 一、前期准备 1、配置网卡,确保主机能上网 因我们要使用网络安装方式,所以要首先保证你的服务器可以正常联网。 1    pingwww.baidu.com 2、设置主机名称 CloudStack运行时需要获取本机名称,如无法正确获取可能导致服务无法正常启动并报一大堆的错。 运行以下命令检查: 1    hostname--fqdn 如无正常返回,请编辑 /etc/hosts 文件,添加主机ip对应的名称。 1    如: 2    192.168.19.135  manage.cloudstack.com vi /etc/sysconfig/network 将 HOSTNAME= 改为同你刚设置的一样。 编辑完后立即生效。如果还不成的话,重启下服务器应该就会好了。 3、配置时间同步 管理节点会通过各种协议与受控节点通讯,为了确保安全,受控节点接到命令后会进行一系列的校验,如果两机的时间不同步的话,会导致命令拒绝执行。 最简单的办法就是,所有服务器都安装 ntp实现时间的自动同步。 1    yuminstallntp 4、修改Linux安全设置 服务器上的SELinux会拦截CloudStack的一些命令,导致CloudStack操作失败,因此启动CloudStack前需要对SELinux进行设置。 vi /etc/selinux/config 1    SELINUX=permissive 以上修改需重启服务器才能生效,为使设置立即生效可使用下边的命令 1    setenforce permissive 二、更新 yum 仓库 默认情况下,CentOS的软件源中没有收录最新版本CloudStack,为了能顺利安装,我们需要手工指定软件源。 新建 /etc/yum.repos.d/cloudstack.repo 文件,内容为: 1    [cloudstack] 2    name=cloudstack 3    baseurl=http://cloudstack.apt-get.eu/rhel/4.1/ 4    enabled=1 5    gpgcheck=0 三、安装管理节点 设置好源以后,我们就可以直接使用 yum安装了,非常简单方便。 安装管理节点的命令为: 1    yuminstallcloud-client 如果你的CentOS 是最小化安装的话,将需要安装 160 兆以上的东东,请耐心等待哈... 四、配置数据库 CloudStack使用mysql管理数据,但安装cloud-client时没有包含mysql,这时需要我们手工安装,并导入数据。这是可以理解的,因为数据库可以被安装到其它机器上。 1    yuminstallmysql-server 默认的,mysql有连接数限制,无法满足CloudStack管理节点的要求,需要手工设定。 vi /etc/my.cnf 增加以下内容: 1    innodb_rollback_on_timeout=1 2    innodb_lock_wait_timeout=600 3    max_connections=350 4    log-bin=mysql-bin 5    binlog-format='ROW' 注:如果没改的话会发生什么现象我没有尝试,不
DevinGeng
2019-04-09
3.2K0
centos 搭建cacti监控以及常见故障解决方案
                  CentOS搭建Cacti监控平台以及故障解决
DevinGeng
2019-04-09
1.2K0
Nagios+Cacti+NCP+NConf整合安装
nagios:  http://sangh.blog.51cto.com/6892345/1263981
DevinGeng
2019-04-09
1.2K0
Linux从入门到精通之源码编译安装 MySQL
1.安装cmake MySQL从5.5版本开始,通过./configure进行编译配置方式已经被取消,取而代之的是cmake工具。 因此,我们首先要在系统中源码编译安装cmake工具。
DevinGeng
2019-04-09
8550
Windows SQL2008数据库系列一搭建安装SQL2008R2
 为什么要搭建SQL2008呢?因为公司随着业务的不断扩大,为了存储、处理和管理公司的人员管理数据、公司客户销售数据和公司项目方案数据,所以现在要建立企业数据库系统,因此要搭建SQL2008。
DevinGeng
2019-04-09
1.4K0
Mysql数据库备份和还原
mysqldump-hhostname-uusername-ppassworddatabasename>backupfile.sql
DevinGeng
2019-04-09
4.2K0
活动目录管理及维护之系列一域控管理
今天我来说一下怎么在域中安装第二台DC,(在域中添加额外域控制器第二台DC,这样即使第一台DC宕机时用户可以正常登录域和访问域)。
DevinGeng
2019-04-09
1.3K0
Linux从入门到精通之监控软件Cacti
今天我们来讲一下监控软件Cacti。Cacti的工作结构是:C/S模式采集监控数据,B/S模式管理检测平台,其实呢Cacti利用的是SNMP(简单网络管理协议)。
DevinGeng
2019-04-09
1.5K0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档