Linux容器虚拟技术(LXC,Linux Container)是一种轻量级的虚拟化手段,它利用内核虚拟化技术提供轻量级的虚拟化,来隔离进程和资源。Docker扩展了LXC,提供了更高级别的API,并简化了应用的打包和部署,为终端用户创建彼此独立的私有环境,可有效节约开发者和系统管理员的环境部署时间。

SuperMap iPortal 现已在阿里云和Docker中心上线(获取镜像的地址分别为 registry.cn-beijing.aliyuncs.com/supermap/iportal、supermap/iportal),自 iPortal 11i(2023) SP1起,不再支持DockerHub,建议您通过阿里云获取 iPortal 镜像 。仅需几步,即可在Docker中部署 iPortal。

安装 Docker

在公网环境中安装 Docker

在 Windows 上安装 Docker Desktop

1. 开启电脑的虚拟化。

一般电脑都是默认开启的,可以通过“任务管理器→性能→CPU”,查看虚拟化是否开启。

  1. 开启 Hyper-V。

启用 Hyper-V 开启虚拟机,可以通过“控制面板→程序→启用或关闭 Windows 功能→勾选 Hyper-V”进行设置,启用后需重启计算机生效。

  1. 访问 https://docs.docker.com/desktop/windows/install/,下载 Docker Desktop。
  1. 安装 Docker Desktop ,按提示进行安装。
  2. 打开 Docker Desktop,等待启用。

若提示"Hardware assisted virtualization and data execution protection must be enabled in the BIOS",可能是由于部分程序会禁用虚拟机管理程序。

解决方法:以管理员身份运行 CMD ,执行以下命令:

bcdedit /set hypervisorlaunchtype auto

操作成功后,重启计算机,并重新打开 Docker Desktop。

  1. 当左下角的鲸鱼图标背景为绿色,说明 Docker 可用。

在 Linux 上安装 Docker

通过便捷脚本安装

本操作以 CentOS-7-x86_64 为例,该便捷脚本适用于 CentOS、Debian、Ubuntu 等多个系统,不支持自定义安装配置,详情请参见官方文档:https://docs.docker.com/engine/install/。

注:需以 root 用户或最高权限用户登录并执行下述操作。

1. 使用便捷脚本安装:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

2. 安装完成后,执行以下命令查看 Docker 版本,确认已安装成功:

docker --version

手动安装

本操作以 Ubuntu_18.04_LTS x86_64 为例,其他系统的 Docker 安装可参考官方安装文档:https://docs.docker.com/engine/install/。

注:需以 root 用户或最高权限用户登录并执行下述操作。

1. 卸载可能存在的旧版本:

apt-get remove docker docker-engine docker.io containerd runc

2. 更新 apt 包索引:

apt-get update

3. 安装以下包,使 apt 可以通过 HTTPS 使用存储库(repository):

apt-get install -y apt-transport-https ca-certificates curl software-properties-common

4. 添加GPG密钥及设置 stable 存储库

  • 通过 Docker 官方获取

4.1 添加 Docker 官方的GPG密钥:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

4.2 设置 stable 存储库:

add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

  • 通过阿里云获取

4.1 添加阿里云的GPG密钥:

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

4.2 设置stable存储库:

add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

5. 再次更新 apt 包索引:

apt-get update

6. 安装最新版本的 Docker CE:

apt-get install -y docker-ce

至此,已经完成Docker的安装,通过以下命令可以验证是否成功:

docker run hello-world

该命令会下载一个测试文件并且在一个容器里运行它。当容器运行后,将打印一些信息,并自动退出。

离线安装 Docker

针对无法连接公网的局域网场景,我们收集制作了常见操作系统的 Docker 离线安装包,如有需要可联系 SuperMap 支持中心获取。您也可以参考 Docker 官方文档进行安装:https://docs.docker.com/engine/install/binaries/。

安装完成后,启动 Docker:

service docker start

获取 iPortal 镜像

注:若为 Windows 系统,则打开 CMD(命令提示符),执行操作;若为 Linux 系统,需以docker用户组身份、最高权限用户(root)登录并执行操作,或以sudo权限执行docker命令。

在公网环境中获取 SuperMap iPortal 镜像

  1. 获取 iPortal 镜像

您可以通过阿里云获取 iPortal 镜像。

拉取指定版本的 iPortal 镜像,需要输入对应的 tag,规则如下:

Linux X86-64 架构的镜像 tag:[版本号]-amd64

Linux ARM64 架构的镜像 tag:[版本号]-arm64

例如,输入以下命令即可获取 Linux X86-64 架构 11.2.0 版本的 iPortal 镜像:

docker pull registry.cn-beijing.aliyuncs.com/supermap/iportal:11.2.0-amd64

输入以下命令即可获取 Linux ARM64 架构 11.2.0 版本的 iPortal 镜像:

docker pull registry.cn-beijing.aliyuncs.com/supermap/iportal:11.2.0-arm64

  1. 查看镜像信息

下载完成后,您可以通过以下命令查看已下载的 image 信息:

docker images

获取离线 SuperMap iPortal 镜像

  1. 针对无法连接公网的局域网场景,您可以联系 SuperMap 支持中心获取离线的 iPortal 镜像。
  2. 将获取到的 iPortal 镜像(*.tar)拷贝到离线环境中,并导入到 Docker 中

docker load -i *.tar

  1. 通过以下命令查看是否导入成功:

docker images

启动并使用 iPortal

运行 Docker 容器

基于获取的 iPortal 镜像,运行一个Docker容器 iportal1。

  • 如您是从阿里云下载的镜像,执行如下命令,以获取 Linux X86-64 架构 11.2.0 版本的镜像为例:

docker run --security-opt seccomp=unconfined --name iportal1 -d -p 8190:8190 -p 8195:8195  -v `pwd`/myOPTs:/opt/iportalOPTs registry.cn-beijing.aliyuncs.com/supermap/iportal:11.2.0-amd64

其中:

--name: 表示为容器指定一个名称。--name iportal1表示指定容器名称为 iportal1;

-d: 表示后台运行容器,并返回容器ID;

-p 8190:8190 -p 8195:8195:表示对外暴露端口号为8190(Web服务端口),8195(代理服务端口)。

-v `pwd`/myOPTs:/opt/iportalOPTs:表示将当前目录下的myOPTs绑定到容器内的/opt/iportalOPTs目录。

registry.cn-beijing.aliyuncs.com/supermap/iportal :表示对应的镜像名称。如您是获取的离线镜像,则此处应输入对应的镜像名称。您可以通过以下指令,查看查看已有本地仓库已有的镜像信息:

docker images

等待几秒钟,iPortal 启动完成。在浏览器中输入 http://<宿主机IP>:8190,即可访问 iPortal。

许可配置

Docker 部署 iPortal 许可配置方法如下:

  • 普通许可配置过程:

  • 使用文件许可,需将容器适配许可文件放置于容器 LICENSE_DIR(默认为 /opt/SuperMap/License)目录下,容器 hostname 与许可文件中记录的保持一致;

  • 使用网络锁硬件许可,需要在启动命令加上 :

-e LICENSE_SERVER=许可服务器 IP

  • 云许可配置过程:请参考云许可部分介绍

  • Web 许可配置过程:请参考 Web 版许可,或者在启动命令加上:

-e BSLICENSE_SERVER=ws://{ip}:{port}
-e BSLICENSE_FEATURE_IDS=许可ID1_许可ID2

许可配置完成后即可进入iPortal首页。