其實關於圖形化,主要就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文件,彈出圖形界面。