前景:最近有很多小伙伴在部署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
目录中的所有文件
6. 进入容器的/etc/icloud/SuperMapiServer
删除iclient
目录
rm -r /etc/icloud/SuperMapiServer/iClient
7. 重启容器
docker restart iserver1
再往宿主机挂载的iserver_iclient
目录下导入离线iClient文件(文件需要从iServer完整的zip包中获取)
查看容器/etc/icloud/SuperMapiServer
目录是会有个iclient
挂载目录生成
8. 查看leaflet、ol、mapbox、webgl离线demo均可访问