其实关于图形化,主要就2个参数,让docker调用宿主机的Xwindow服务,也就是说你的宿主机要支持Xwindow服务。

terra_tg_sfs.tar文件为Docker导出的镜像文件,里面已经安装了Skyline的TG和SFS。我们仅需要倒入镜像文件,生成Docker容器,映射端口号以及启动服务等简单的操作即可。

1.   将terra_tg_sfs.tar 导入到Docker中,命名为“terra_tg_sfs”,该名称可以自定义。

[root@localhost ~]# cat terra_tg_sfs.tar |docker import - terra_tg_sfs

sha256:c23aac504b1c844d8e27d97f75feb6ba9682a3e929516867a36a082c1831dd56

2.   显示Docker中的image,以及image的基本信息

[root@localhost ~]# docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

terra_tg_sfs        latest              c23aac504b1c        33 seconds ago      5.872 GB

3.   获取selinux的值,如果值为Enforcing,我们需要关闭它。

 [root@localhost ~]# getenforce

Enforcing

4.   关闭seLinux

[root@localhost ~]# setenforce 0

5.   再次查看selinux的值,如果它的值为permissive。表示可以往下执行。

[root@localhost ~]# getenforce

Permissive

6.   启动镜像 'terra_tg_sfs'并且生成一个Docker容器, 将Docker中TG的端口号8080映射到宿主机中的18080端口,将SFS的端口号8012映射到宿主机的18012端口号。其中18080和18012可以根据宿主机和用户的需求自定义。/tmp/.X11-unix/:/tmp/.X11-unix/ -e DISPLAY=unix$DISPLAY 重点在这里,没有这2个参数wine无法打开图形界面。

[root@localhost ~]# docker run -itd -p 18012:8012 -p 18080:8080 -v /tmp/.X11-unix/:/tmp/.X11-unix/ -e DISPLAY=unix$DISPLAY terra_tg_sfs bash

c4fd4f8f7504314eaadf5636607b0d02936b9cc1427ee5379ae84901cef7b909

7.   查看正在运行的Docker容器以及基本信息

[root@localhost ~]# docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                                              NAMES

c4fd4f8f7504        terra_tg_sfs        "bash"              8 seconds ago       Up 4 seconds        0.0.0.0:18012->8012/tcp, 0.0.0.0:18080->8080/tcp   drunk_galileo

8.   进入到Docker, ‘c4f’为容器ID的前三位。

[root@localhost ~]# docker exec -it c4f bash

9.   进入到tg文件目录

[root@c4fd4f8f7504 /]# cd /application/skyline/TG1/tg

10.  运行terragatemanager,加上&为后台运行。

[root@c4fd4f8f7504 tg]# wine64 TerraGateManager.exe &

TerraGateManager启动后,可以添加mpt等。

11.  启动apache运行SFS 服务

[root@c4fd4f8f7504 tg]# /usr/local/httpd2.2.31/bin/apachectl start

启动服务后,用浏览器打开sfs的管理页面,http://ip:port/sfs/Admin,其中ip为宿主机的ip,port为用户映射的端口号。

输入用户名admin,密码123456。进入到管理页面,点击Setting,修改Public URL为http://ip:port/sfs.保存。然后就可以添加数据和发布图层。

其实是在docker里用wine64 执行一个.exe文件,弹出图形界面。