一步一步配置Docker并运行SuperMap iExpress

gisanglea 2015-11-27 11:50:47
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/)
1 Docker怎么安装?

Docker运行在Linux环境中,以Ubuntu为例,在Ubuntu14.04下,简单敲如下命令即可安装Docker:

$ sudo apt-get update
$ sudo apt-get install docker.io
推荐在安装Docker前,更换Ubuntu的软件源为国内软件源(参考:http://mirrors.aliyun.com/help/ubuntu)。

2 Docker怎么使用?

Docker的使用非常简单,在安装好Docker后,简单运行如下命令,即可启动一个14.04版本的ubuntu系统,启动后,光标停在新启动的ubuntu的bash窗口。

$ sudo dockerrun -t -i ubuntu:14.04 /bin/bash
其中:

-t:表示在Container中配置一个终端;
-i:表示在Container内部允许我们使用标准输入(STDIN)进行交互
ubuntu:14.04:标识Ubuntu 14.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命令可变为:

$ sudo dockerrun -t -i docker.cn/docker/ubuntu:14.04/bin/bash
3 Docker运行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 了解
...全文
266 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,182

社区成员

发帖
与我相关
我的任务
社区描述
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux 机器上,也可以实现虚拟化。
社区管理员
  • Docker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧