问题描述
Docker是dotCloud开源的一个基于LXC的高级容器引擎,它的初衷是将各种应用程序和不同的平台上运行,Container发挥类似VM的作用,但它启动得更快和需要更少的资源。 图1:Container与虚拟机的区别Container与虚机的最大不同在于Container并不包含操作系统内核,它与宿主机使用同一个内核,减少了指令模拟的损耗,而且多个Container之间可以共用同一套系统库、应用程序依赖库(如图1所示)。每个Container看起来也像是一个独立的系统(实际上资源的确得到了有效隔离),但它们的公共部分是复用的。Docker提供了如下特性:在多个机器之间提供便捷的部署策略提供了应用镜像的自动构建机制。允许开发者从源代码直接打包依赖、工具、库等等。组件复用。Docker容器可以基于“基础镜像”创建许多个独立的、不同功能的组件,这意味着一次制作的镜像可以再将来的许多项目中不断复用。共享。有一个公开的镜像仓库(http://index.docker.io),在这里可以发现已有的、成熟的容器,每个人也都可以共享自己的容器。关于Docker的更详细介绍,请参见如下文章:《Linux容器虚拟技术及GIS应用前景》Docker官网(https://www.docker.com/)Docker中文社区(http://www.docker.org.cn/)1Docker怎么安装?Docker运行在Linux环境中,以Ubuntu为例,在Ubuntu14.04下,简单敲如下命令即可安装Docker:$sudoapt-getupdate$sudoapt-getinstalldocker.io推荐在安装Docker前,更换Ubuntu的软件源为国内软件源(参考:http://mirrors.aliyun.com/help/ubuntu)。2Docker怎么使用?Docker的使用非常简单,在安装好Docker后,简单运行如下命令,即可启动一个14.04版本的ubuntu系统,启动后,光标停在新启动的ubuntu的bash窗口。$sudodockerrun-t-iubuntu:14.04/bin/bash其中:-t:表示在Container中配置一个终端;-i:表示在Container内部允许我们使用标准输入(STDIN)进行交互ubuntu:14.04:标识Ubuntu14.04镜像/bin/bash:表示启动Ubuntu后,运行/bin/bash命令背后的逻辑是,Docker从镜像仓库(http://index.docker.io)按照ubuntu:14.04的标识拉取一个Ubuntu镜像到本地,然后启动Container,并允许交互。在Docker中,你也可以自己制作镜像,本地运行或上传至Docker注册处。在国内连接官方镜像仓库(http://index.docker.io)很慢,可以使用国内的镜像仓库替代。docker.cn是国内的一个Docker镜像仓库,每日将Docker官方镜像仓库的最新版本同步到国内的服务器。使用国内镜像仓库启动Ubuntu系统,Docker命令可变为:$sudodockerrun-t-idocker.cn/docker/ubuntu:14.04/bin/bash3Docker运行iExpress的步骤Docker的公网镜像仓库并没有iExpress的镜像,所以,Docker运行iExpress之前,需要先手工制作iExpress镜像,然后指定端口运行。步骤如下图所示: 图2:Docker运行iExpress的步骤更多内容请到http://support.supermap.com.cn/supportblog/Blog/SuperMapiServerJava/tabid/98/EntryId/159/-Docker-SuperMap-iExpress.aspx了解