文章目录

  • 一、安装 Docker
  • 1、在公网环境中安装 Docker
  • 1.1 在 Windows 上安装 Docker Desktop
  • 1.2 在 Linux 上安装 Docker
  • 2、离线安装 Docker
  • 二、获取 SuperMap iServer 镜像
  • 1、在公网环境中获取 SuperMap iServer 镜像
  • 1.1 获取 iServer 镜像
  • 1.2 查看镜像信息
  • 2、获取离线 SuperMap iServer 镜像
  • 2.1 获取iServer镜像
  • 2.2 拷贝到离线环境
  • 2.3 查看镜像消息
  • 三、启动并使用 iServer
  • 1、运行 Docker 容器并启动 iServer
  • 2、访问SuperMap iServer
  • 3、发布服务
  • 四、停止iServer
  • 1、查看所在容器
  • 2、停止容器



一、安装 Docker

1、在公网环境中安装 Docker

1.1 在 Windows 上安装 Docker Desktop

本操作以 Windows10 专业版 64位,版本号 21H2(build 19044)为例,其他版本或系统的安装可参考官方安装文档:https://docs.docker.com/desktop/windows/install/

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

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

  5. 访问https://docs.docker.com/desktop/windows/install/,下载Docker Desktop。
  6. geoserver docker部署 docker sipserver_docker_03

  7. 安装Docker Desktop ,按提示进行安装。
  8. geoserver docker部署 docker sipserver_geoserver docker部署_04

  9. 打开Docker Desktop,等待启用。
    若看到以下提示,可能是由于部分程序会禁用虚拟机管理程序。
  10. geoserver docker部署 docker sipserver_iServer_05

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

bcdedit /set hypervisorlaunchtype auto

geoserver docker部署 docker sipserver_iServer_06


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

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

1.2 在 Linux 上安装 Docker

本操作以CentOS-7-x86_64为例,该快捷脚本适用于 CentOS、Debian、Ubuntu等多个系统,详情请参见官方文档:https://docs.docker.com/engine/install/注:需以 root 用户或最高权限用户登录并执行下述操作。

  1. 使用快捷脚本安装 Docker
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
  1. 安装完成后,执行以下命令查看 Docker 版本,确认已安装成功
docker --version

geoserver docker部署 docker sipserver_容器_07

2、离线安装 Docker

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

service docker start

二、获取 SuperMap iServer 镜像

1、在公网环境中获取 SuperMap iServer 镜像

若为 Windows 系统,则打开 CMD(命令提示符),执行操作;若为 Linux 系统,需以 root 用户或最高权限用户登录并执行本步骤及之后步骤的全部操作。

1.1 获取 iServer 镜像

您可以通过阿里云或 Docker 中心获取 iServer 镜像,一般推荐您通过阿里云获取。

  • 通过 dockerhub 获取镜像
docker pull supermap/iserver

该操作默认获取最新版镜像。您可以通过 https://hub.docker.com/r/supermap/iserver/tags查看镜像的版本信息。如要拉取特定版本的 iServer 镜像,则还需要输入对应的 tag。
例如,输入以下命令即可成功获取 AMD64 平台 10.2.1 版本的 iServer 镜像:

docker pull supermap/iserver:10.2.1

输入以下命令即可成功获取 ARM64 平台 10.2.1 版本的 iServer 镜像:

docker pull supermap/iserver:10.2.1-armv8
  • 通过阿里云获取镜像
docker pull registry.cn-beijing.aliyuncs.com/supermap/iserver

该操作默认获取最新版镜像。您可以通过https://cr.console.aliyun.com/images/cn-beijing/supermap/iserver/detail查看镜像的版本信息。若要拉取特定版本的 iServer 镜像,则还需要输入对应的 tag。
例如,输入以下命令即可成功获取 AMD64 平台 10.2.1 版本的 iServer 镜像:

docker pull registry.cn-beijing.aliyuncs.com/supermap/iserver:10.2.1

输入以下命令即可成功获取 ARM64 平台 10.2.1 版本的 iServer 镜像:

docker pull registry.cn-beijing.aliyuncs.com/supermap/iserver:10.2.1-armv8

1.2 查看镜像信息

下载完成后,通过以下命令查看已经下载的镜像信息:

docker images

2、获取离线 SuperMap iServer 镜像

2.1 获取iServer镜像

针对无法连接公网的局域网场景,您可以联系SuperMap支持中心获取离线的 iServer 镜像。

2.2 拷贝到离线环境

将获取到的 iServer 镜像(*.tar)拷贝到离线环境中,并用以下命令导入到 Docker 中:

docker load -i *.tar

2.3 查看镜像消息

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

docker images

三、启动并使用 iServer

1、运行 Docker 容器并启动 iServer

docker run --name iserver1 -d -p 8090:8090 -v /home/iserver/data:/opt/iserverOPTs supermap/iserver
  • docker run 表示创建一个新的容器并运行一个命令
  • --name 表示为容器指定一个名称。--name iserver1表示指定容器名称为 iserver1
  • -d 表示后台运行容器,并返回容器ID
  • -p 指定端口映射,格式为:主机(宿主)端口:容器端口。-p 8090:8090表示指定映射的主机端口为8090,容器端口也为8090
  • -v 表示绑定一个卷,即映射数据路径,格式为:主机(宿主)路径:容器路径。–v /home/iserver/data:/opt/iserverOPTs 表示指定的主机数据路径为:/home/iserver/data(根据计算机中的实际路径自定义,如 Windows 中可以为 F/data),容器对应的路径为:/opt/iserverOPTs
    注: /opt/iserverOPTs 为一个默认存于容器中的文件夹,用于存放所有 iServer 相关的配置文件。
  • supermap/iserver 为镜像名称,可以通过docker images查看本地仓库已有的镜像信息

2、访问SuperMap iServer

等待几秒,访问 {主机ip}:8090 ,按提示步骤进行初始化,即可使用SuperMap iServer。

3、发布服务

在之前的步骤中,我们已经通过 -v 参数指定了从主机到Docker容器的数据映射路径(–v /home/iserver/data:/opt/iserverOPTs)。因此,可以将范例数据 China100.smwu 及相关文件放到主机的 /home/iserver/data 目录下,在发布服务时,打开容器目录 /opt/iserverOPTs,即可选择对应数据,进行服务发布。

geoserver docker部署 docker sipserver_docker_08


geoserver docker部署 docker sipserver_iServer_09

四、停止iServer

1、查看所在容器

通过以下命令查看当前运行的镜像及所在容器:

docker ps -a

2、停止容器

通过CONTAINER ID或NAMES停止容器。

docker stop iserver1

该命令将停止上述示例中的 iserver1 容器,即停止正在运行的 iServer。