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”,查看虚拟化是否开启。
- 开启 Hyper-V。
启用 Hyper-V 开启虚拟机,可以通过“控制面板→程序→启用或关闭 Windows 功能→勾选 Hyper-V”进行设置,启用后需重启计算机生效。
- 访问 https://docs.docker.com/desktop/windows/install/,下载 Docker Desktop。
- 安装 Docker Desktop ,按提示进行安装。
- 打开 Docker Desktop,等待启用。
若提示"Hardware assisted virtualization and data execution protection must be enabled in the BIOS",可能是由于部分程序会禁用虚拟机管理程序。
解决方法:以管理员身份运行 CMD ,执行以下命令:
bcdedit /set hypervisorlaunchtype auto
操作成功后,重启计算机,并重新打开 Docker Desktop。
- 当左下角的鲸鱼图标背景为绿色,说明 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 镜像
- 获取 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
- 查看镜像信息
下载完成后,您可以通过以下命令查看已下载的 image 信息:
docker images
获取离线 SuperMap iPortal 镜像
- 针对无法连接公网的局域网场景,您可以联系 SuperMap 支持中心获取离线的 iPortal 镜像。
- 将获取到的 iPortal 镜像(*.tar)拷贝到离线环境中,并导入到 Docker 中
docker load -i *.tar
- 通过以下命令查看是否导入成功:
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
-e BSLICENSE_SERVER=ws://{ip}:{port}
-e BSLICENSE_FEATURE_IDS=许可ID1_许可ID2
许可配置完成后即可进入iPortal首页。