前景:最近有很多小伙伴在部署Docker版iServer时想要使用离线iClient,但是实际操作时会发现我们在获取iServer镜像时产品包内是不包含离线iClient的,所以我们需要手动部署一次离线iClient,接下来我将会大家详细介绍部署流程。

1. 安装并启动Docker

参考博客 :https://www.runoob.com/docker/centos-docker-install.html
Docker官网 :https://docs.docker.com/engine/install/centos/

2. 下载iServer镜像

docker pull supermap/iserver
[root@centos7 ~]# docker pull supermap/iserver
Using default tag: latest
latest: Pulling from supermap/iserver
2e6e20c8e2e6: Pull complete
95201152d9ff: Pull complete
5f63a3b65493: Pull complete
1c9e8f8e769f: Pull complete
7afc3172f12d: Pull complete
70f188eb726c: Pull complete
f07b46ce9a0b: Pull complete
2a94f950b685: Pull complete
707d6725f705: Pull complete
400b0eb25218: Pull complete
6264bfe72a9e: Pull complete
fea5d98e8500: Pull complete
2c7e5cda7897: Pull complete
9f7d7974e601: Pull complete
74e4bb02cfaf: Pull complete
2bb33f0139fe: Pull complete
d192819b20e5: Pull complete
ade4a1827d0f: Pull complete
44955893ccb2: Pull complete
294d23a57e7f: Pull complete
d3c0934bbe6a: Pull complete
d5ba7bfa6440: Pull complete
34273f9e5374: Pull complete
5f1a1d1bb250: Pull complete
21c0490805c1: Pull complete
Digest: sha256:2b93d354b18bf3491410a4a7cf700ce60d30fa77a3238708e84739f2838a05f5
Status: Downloaded newer image for supermap/iserver:latest
docker.io/supermap/iserver:latest

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

docker images
[root@centos7 ~]# docker images
REPOSITORY         TAG       IMAGE ID       CREATED       SIZE
supermap/iserver   latest    9a1beab1b2f4   2 weeks ago   2.73GB

3. 启动并使用 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查看本地仓库已有的镜像信息

4. 访问SuperMap iServer

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

5. 删除宿主机下的iserver_iclient目录中的所有文件

如何部署自带离线iClient包的Docker版iServer-LMLPHP

6. 进入容器的/etc/icloud/SuperMapiServer删除iclient目录

rm -r /etc/icloud/SuperMapiServer/iClient

如何部署自带离线iClient包的Docker版iServer-LMLPHP

7. 重启容器

docker restart iserver1

再往宿主机挂载的iserver_iclient目录下导入离线iClient文件(文件需要从iServer完整的zip包中获取)
如何部署自带离线iClient包的Docker版iServer-LMLPHP
查看容器/etc/icloud/SuperMapiServer目录是会有个iclient挂载目录生成
如何部署自带离线iClient包的Docker版iServer-LMLPHP

8. 查看leaflet、ol、mapbox、webgl离线demo均可访问

如何部署自带离线iClient包的Docker版iServer-LMLPHP
如何部署自带离线iClient包的Docker版iServer-LMLPHP
如何部署自带离线iClient包的Docker版iServer-LMLPHP
如何部署自带离线iClient包的Docker版iServer-LMLPHP

07-21 10:15