<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post//</link>
<title><![CDATA[ Docker入门实战]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Fri, 11 Mar 2016 02:54:22 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	背景：目前虚拟机和云的兴起，对一些应用的封装啥的还没有火起来，比如：FreeBSD的jail啥的，目前出了一个叫docker的，可以了解了解。<br/><br/>基本概念<br/>Docker 是一个开源的应用容器引擎，让开发者可以打包他们的应用以及依赖包到一个可移植的容器中，然后发布到任何流行的 Linux 机器上。<br/>Docker是一个重新定义了程序开发测试、交付和部署过程的开放平台，Docker则可以称为构建一次，到处运行，这就是docker提出的“Build once，Run anywhere”<br/> <br/>备注:java提出的是” compile Once，Run Anywhere”<br/>Docker与linux内核的关系<br/>docker与linux内核的关系<br/>Cgroup: 对资源进行限制(如对物理资源CPU、内存、I/O的限制)<br/>Namespace:对进程进行隔离<br/>Chroot: 能改变当前运行的进程和子进程的根目录<br/>AUFS:联合文件系统,Docker利用AUFS将不同的Layer结合到1个image中去<br/>Docker架构<br/>Docker采用C/S架构，客户端与服务器端不一定要在一起。客户端可以运行在windows、linux等机器上，然后服务器端必须运行在linux 64bit的操作系统上。<br/>Docker“组件间”关系<br/>ü&nbsp;&nbsp;主机：运行容器的机器<br/>ü&nbsp;&nbsp;镜像：文件的层次结构，以及包含如何运行容器的元数据, Dockerfile中的每条命令都会在文件系统中创建一个新的层次结构，文件系统在这些层次上构建起来，镜像就构建于这些联合的文件系统之上<br/>ü&nbsp;&nbsp;容器：一个从镜像中启动，包含正在运行的程序的进程<br/>ü&nbsp;&nbsp;Registry（镜像仓库）:存放镜像的地方，如Docker Hub<br/>ü&nbsp;&nbsp;Volumn(卷):将物理机的文件夹挂载到容器内部.与openstack的volumn不一样，openstack中的卷是块存储，不能共享。而这里的volumn可以共享。<br/>ü&nbsp;&nbsp;Dockerfile：用于创建镜像的脚本<br/>Docker应用场景<br/>面向开发人员:快速开发、交付应用程序<br/>主要体现在三个方面:<br/>ü&nbsp;&nbsp;代码一致:<br/>在没有docker之前，开发、测试、生成环境可能不一样，如发布某个服务的端口时，开发是1000，而生产是2000，这就导致配置文件不一致。然而使用docker后，我在容器内的端口都是一样的，而容器对外暴露的端口可能不一样。<br/>ü&nbsp;&nbsp;开发环境与生产环境的一致性<br/>我们知道，在生产环境的部署比较复杂，服务非常繁多。通过docker，我们可以单机版上通过容器来模拟生产环境的分布式环境。从而让开发人员的开发更有效率。<br/>ü&nbsp;&nbsp;快速部署<br/> 可以将docker理解为轻量级的虚拟机，启动docker容器速度很快，启动虚拟机很慢。<br/>面向运维人员:降低运维成本<br/>ü&nbsp;&nbsp;节约安装各种软件的时间。<br/>&nbsp;&nbsp;&nbsp;&nbsp; 在没有docker之前，在部署程序之前，势必要搭建环境，而搭建环境很花费时间，还要解决环境的各种依赖，而docker通过镜像机制，将你的代码和运行环境直接打包成镜像，扔到容器启动即可。<br/>ü&nbsp;&nbsp;降低运维成本。<br/>在没有docker之前，由于技术不断发展，运维也要不停的学习各种软件的使用技能，如Node.js、redis等。有了docker，根本不用关系这些技术(或者少关心)，只需要关注容器就可以了，能够正常的发布容器，停止容器、删除容器、迁移容器就可以了。<br/>面向企业: Paas层的实现<br/>Coding.net、Oschina这些代码托管平台，有个功能即提供给用户程序的演示环境，我不知道他们底层到底采用的什么技术，但是如果Iaas层的openstack，给用户直接提供虚拟机，先得太“笨重”，因为虚拟机本身对物理机的开销就比较大，如果采用Docker，我1台物理机可以部署多个容器，可以降低企业的采购物理机的费用，而且运行效率上应该比采用Iaas层的方案快。<br/> <br/>Docker基本命令<br/>Docker安装相关命令<br/>参考: https://docs.docker.com/installation/ubuntulinux/<br/><br/>摘自：http://blog.csdn.net/opensure/article/details/46490749
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论]  Docker入门实战]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>