03 2017 档案
摘要:Docker命令有两大类,客户端命令和服务端命令。前者是主要的操作接口,后者用来启动Docker daemon。 可以通过man docker或docker help来查看这些命令。 客户端命令选项 daemon命令选项 客户端命令 总结Docker的命令
阅读全文
摘要:Etcd CoreOS公司开源的高可用分布式键值数据库Etcd,该项目已经被广泛应用到分布式系统的一致性实现和服务发现中,基于Go语言实现。 Etcd就是专门为集群环境设计,可以很好地实现数据一致性,提供集群节点状态管理和服务自动发现等(类似ZooKeeper)。 Etcd在进行设计的时候重点考虑了
阅读全文
摘要:Docker把网络跟存储这两部分的功能实现都以插件化形式剥离出来,允许用户通过指令来选择不同的后端实现。这也是Docker希望构建围绕着容器的强大生态系统的一些积极的尝试。剥离出来的独立容器网络项目叫libnetwork,从名字就能看出来,它希望将来为不同容器定义统一规范的网络层标准。 容器网络模型
阅读全文
摘要:网络的高级知识,包括网络的启动和配置参数、DNS的使用配置、容器访问和端口映射的相关实现。 在一些具体场景中,Docker支持的网络定制配置,通过Linux命令来调整、补充、甚至替换Docker默认的网络配置。 网络启动与配置参数 Docker启动时会在主机上自动创建一个docker0虚拟网桥,实际
阅读全文
摘要:Docker是基于Linux操作系统实现的应用虚拟化。运行在容器内的进程,跟运行在本地系统中的进程本质上并无区别,配置不合适的安全策略将可能给本地系统带来安全风险。因此,Docker的安全性在生产环境中是十分关键的衡量因素。 Docker容器的安全性,很大程度上依赖于Linux系统自身。目前,在评估
阅读全文
摘要:在使用Docker一段时间后,往往会发现手头积累了大量的自定义镜像文件,这些文件通过公有仓库进行管理并不方便;另外有时候只是希望在内部用户之间进行分享,不希望暴露出去。这种情况下,就有必要搭建一个本地私有镜像仓库。 使用Docker Registry的两种主要方式:通过容器方式运行和通过本地安装运行
阅读全文
摘要:作为一种容器虚拟化技术,Docker深度应用了操作系统的多项底层支持技术。 早期版本的Docker是基于已经成熟的Linux Container(LXC)技术实现的。自Docker 0.9版本起,Docker逐渐从LXC转移到新的libcontainer(https://github.com/doc
阅读全文
摘要:使用Docker快速部署主流编程语言的开发、编译环境及其常用框架,包括C、C++、Java、Python、JavaScript、Go、PHP、Ruby、Perl、R、Erlang等。 在今后采用编程语言开发和测试时,将再也不用花费大量时间进行环境配置了,只需简单获取容器镜像,即可快速拥有相关的环境。
阅读全文
摘要:热门的消息队列中间件RabbitMQ,分布式任务处理平台Celery,大数据分布式处理的三大重量级武器:Hadoop、Spark、Storm,以及新一代的数据采集和分析引擎Elasticsearch。 RabbitMQ RabbitMQ是一个支持Advanced Message Queuing Pr
阅读全文
摘要:目前,主流数据库包括关系型(SQL)和非关系型(NoSQL)两种。 关系数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据,支持复杂的事物处理和结构化查询。代表实现有MySQL、Oracle、PostGreSQL、MariaDB、SQLServer等。 非关系数
阅读全文
摘要:Web服务和应用是目前信息技术领域的热门技术。如何使用Docker来运行常见的Web服务器(包括Apache、Nginx、Tomcat等),以及一些常用应用(LAMP、CMS等)。包括具体的镜像构建方法与使用步骤。 两种创建镜像的过程。其中一些操作比较简单的镜像使用Dockerfile来创建,而像W
阅读全文
摘要:操作Docker容器介绍了一些进入容器的办法,比如attach、exec等命令,但是这些命令都无法解决远程管理容器的问题。因此,当需要远程登录到容器内进行一些操作的时候,就需要SSH的支持了。 如何自行创建一个带有SSH服务的镜像,并详细介绍了两种创建容器的方法:基于docker commit命令创
阅读全文
摘要:目前常用的Linux发行版主要包括Debian/Ubuntu系列和CentOS/Fedora系列。前者以自带软件包版本较新而出名;后者则宣称运行更稳定一些。选择哪个操作系统取决于读者的具体需求。同时,社区还推出了完全基于Docker的Linux发行版CoreOS。 使用Docker,只需要一个命令就
阅读全文
摘要:示例代码: 找出pid(进程ID) top命令 在linux环境下,可以通过top命令查看各个进程的cpu使用情况,默认按cpu使用率排序 jps命令 显示指定系统内所有的HotSpot虚拟机进程。 通过进程id看线程情况 linux:通过top -Hp 4548可以查看该进程下各个线程的cpu使用
阅读全文
摘要:Dockerfile是一个文本格式的配置文件,用户可以使用Dockerfile来快速创建自定义的镜像。 Dockerfile典型的基本结构和它支持的众多指令,并具体讲解通过这些指令来编写定制镜像的Dockerfile,以及如何生成镜像。 最后介绍使用Dockerfile的一些最佳实践经验。 基本结构
阅读全文
摘要:在实践中,经常会碰到需要多个服务组件容器共同协作的情况,这往往需要多个容器之间能够互相访问到对方的服务。 除了通过网络访问外,Docker还提供了两个很方便的功能来满足服务访问的基本需求: 一个是允许映射容器内应用的服务端口到本地宿主主机; 一个是互联机制实现多个容器间通过容器名来快速访问。 端口映
阅读全文
摘要:生产环境中使用Docker的过程中,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这必然涉及容器的数据管理操作。 容器中管理数据主要有两种方式: 数据卷 数据卷是一个可供容器使用的特殊目录,它将主机操作系统目录直接映射进容器,类似于Linux中的mount操作。 数据卷可以提供很多有
阅读全文
摘要:仓库(Repository)是集中存放镜像的地方,分公共仓库和私有仓库。一个容易与之混淆的概念是注册服务器(Registry)。实际上注册服务器是存放仓库的具体服务器,一个注册服务器上可以有多个仓库,而每个仓库下面可以有多个镜像。从这方面来说,可将仓库看做一个具体的项目或目录。 例如对于仓库地址pr
阅读全文
摘要:容器是镜像的一个运行实例。所不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层。如果认为虚拟机是模拟运行的一整套操作系统(包括内核、应用运行态环境和其他系统环境)和跑在上面的应用,那么Docker容器就是独立运行的一个(或一组)应用,以及它们必需的运行环境。 创建容器 对容器进行操作就
阅读全文
摘要:镜像(image)是Docker三大核心概念中最为重要的,自Docker诞生之日起“镜像”就是相关社区最为热门的关键词。 Docker运行容器前需要本地存在对应的镜像,如果镜像没保存在本地,Docker会尝试先从默认镜像仓库下载(默认使用Docker Hub公共注册服务器中的仓库),用户也可以通过配
阅读全文
摘要:什么是Docker Docker的构想是要实现“Build,Ship and Run Any App,Anywhere”,即通过对应用的封装(Packaging)、分发(Distribution)、部署(Deployment)、运行(Runtime)生命周期进行管理,达到应用组件“一次封装,到处运行
阅读全文