目标:创建tibco designer的docker images并且远程调用
实现:本人实现环境,服务器是Ubuntu16 desktop,客户端Win7
首先在Ubuntu里面安装如下应用:
ssh和x11安装:
1、打开"终端窗口",输入"sudo apt-get update"-->回车-->"输入当前登录用户的管理员密码"-->回车,就可以了;
2、打开"终端窗口",输入"sudo apt-get install openssh-server"-->回车-->输入"y"-->回车-->安装完成;
3、打开"终端窗口",输入"sudo ps -e |grep ssh"-->回车-->有sshd,说明ssh服务已经启动,如果没有启动,输入"sudo service ssh start"-->回车-->ssh服务就会启动;
4、使用gedit修改配置文件"/etc/ssh/sshd_config"
打开"终端窗口",输入"sudo gedit /etc/ssh/sshd_config"-->回车-->把配置文件中的"PermitRootLogin without-password"加一个"#"号,把它注释掉-->再增加一句"PermitRootLogin yes"-->修改“X11Forwarding yes”-->保存,修改成功
docker,安装步骤参考docker说明:(摘抄本人安装版本在docker上的安装说明)
Docker CE for Ubuntu
Docker CE for Ubuntu is the best way to install the Docker platform on Ubuntu Linux environments. Simplify provisioning and setup of Docker and accelerate your time to value in building and deploying container based applications.
Docker for Ubuntu is also available as an Enterprise Edition subscription with software, support and certification that can be installed on bare metal or cloud infrastructure.
Features and Benefits
Easy installation and setup of an optimized Docker environment for Ubuntu on bare metal servers and VMs.
Latest Docker platform version with built in orchestration (clustering and scheduling), runtime security, container networking and volumes.
Available as a free download with a monthly Edge or quarterly Stable release with community support.
Also available for ARM 32 based platforms
Prerequisites
To install Docker CE, you need the 64-bit version of one of these Ubuntu versions:
Yakkety 16.10
Xenial 16.04
Trusty 14.04
1. Set up the repository
Set up the Docker CE repository on Ubuntu. The lsb_release -cs sub-command prints the name of your Ubuntu version, like xenial or trusty.
sudo apt-get -y install \
apt-transport-https \
ca-certificates \
curl
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
2. Get Docker CE
Install the latest version of Docker CE on Ubuntu:
sudo apt-get -y install docker-ce
3. Test your Docker CE installation
Test your installation:
sudo docker run hello-world
创建tibco相关images
本实例是基于tutum/centos的,所以先运行“sudo docker pull tutum/centos”
创建angusyang/tibbase:
运行“docker build -t="angusyang/tibbase:1.0.0" ./tibbase/”
angusyang/tibbase的Dockerfile参考如下:
FROM tutum/centos MAINTAINER Angus Esquel <angusyang@apjcorp.com> RUN groupadd -r tibgrp -g 433 && \ useradd -u 431 -r -m -g tibgrp -d /home/tibadmin -s /bin/bash -c "TIBCO Docker image user" tibadmin && \ mkdir /opt/tibco && \ mkdir /tmp/install ENV HOME /home/tibadmin RUN yum -y install unzip java-1.8.0-openjdk glibc.i686 iptables* RUN chown -R tibadmin:tibgrp /home/tibadmin && \ chown -R tibadmin:tibgrp /opt/tibco && \ chown -R tibadmin:tibgrp /tmp/install USER tibadmin
创建angusyang/tibdesigner:
运行"docker build -t="angusyang/tibdesigner:5.10.0" ./tibdesigner/"
angusyang/tibdesigner的Dockerfile参考如下:
FROM angusyang/tibbase:1.0.0 MAINTAINER Angus Esquel <angusyang@apjcorp.com> ADD files/TIB_ems_8.3.0_linux_x86.zip /tmp/install/ ADD files/TIB_ems_8.3.0_HF-002_linux_x86.zip /tmp/install/ ADD files/TIB_rv_8.4.5_linux_x86.zip /tmp/install/ ADD files/TIB_rv_8.4.5_HF-002_linux_x86.zip /tmp/install/ ADD files/TIB_TRA_5.10.0_linux_x86_64.zip /tmp/install/ ADD files/TIB_dbdrivers_2.0.4_linux_x86_64.zip /tmp/install/ COPY files/jdbc/jtds-1.3.1.jar /tmp/install/ COPY files/jdbc/ojdbc6.jar /tmp/install/ COPY files/jdbc/sqljdbc41.jar /tmp/install/ ADD files/TIB_BW_5.13.0_linux26gl23_x86_64.zip /tmp/install/ ADD files/TIB_BW_5.13.0_HF-006.zip /tmp/install/ ADD files/TIB_bwpm_3.0.1_client.zip /tmp/install/ ADD files/TIB_TIBCOAdmin_5.10.0_linux_x86_64.zip /tmp/install/ ADD files/TIB_TIBCOAdmin_5.10.0_HF-001.zip /tmp/install/ COPY files/docker_entrypoint.sh /opt/tibco/docker_entrypoint.sh RUN unzip /tmp/install/TIB_ems_8.3.0_linux_x86.zip -d /tmp/install/tibems/ && \ sed -i 's/<entry key="environmentName">.*<\/entry>/<entry key="environmentName">ESQUEL_TIBCO_HOME<\/entry>/g' /tmp/install/tibems/TIBCOUniversalInstaller-ems.silent && \ sed -i 's/<entry key="configDirectoryRoot">.*<\/entry>/<entry key="configDirectoryRoot">\/opt<\/entry>/g' /tmp/install/tibems/TIBCOUniversalInstaller-ems.silent && \ sed -i 's/<entry key="configFile">.*<\/entry>/<entry key="configFile">\/opt\/tibco\/cfgmgmt\/ems\/data\/tibemsd.conf<\/entry>/g' /tmp/install/tibems/TIBCOUniversalInstaller-ems.silent && \ /bin/bash /tmp/install/tibems/TIBCOUniversalInstaller-lnx-x86.bin -silent && \ unzip /tmp/install/TIB_ems_8.3.0_HF-002_linux_x86.zip -d /tmp/install/tibemshf/ && \ cp -rf /tmp/install/tibemshf/bin/* -d /opt/tibco/ems/8.3/bin/ && \ unzip /tmp/install/TIB_rv_8.4.5_linux_x86.zip -d /tmp/install/tibrv/ && \ sed -i 's/<entry key="environmentName">.*<\/entry>/<entry key="environmentName">ESQUEL_TIBCO_HOME<\/entry>/g' /tmp/install/tibrv/TIBCOUniversalInstaller-rv.silent && \ /bin/bash /tmp/install/tibrv/TIBCOUniversalInstaller-lnx-x86.bin -silent && \ unzip /tmp/install/TIB_rv_8.4.5_HF-002_linux_x86.zip -d /tmp/install/tibrvhf/ && \ cp -rf /tmp/install/tibrvhf/lib/* -d /opt/tibco/tibrv/8.4/lib/ && \ unzip /tmp/install/TIB_TRA_5.10.0_linux_x86_64.zip -d /tmp/install/tibtra/ && \ sed -i 's/<entry key="environmentName">.*<\/entry>/<entry key="environmentName">ESQUEL_TIBCO_HOME<\/entry>/g' /tmp/install/tibtra/TIBCOUniversalInstaller_TRA_5.10.0.silent && \ sed -i 's/<entry key="configDirectoryRoot">.*<\/entry>/<entry key="configDirectoryRoot">\/opt<\/entry>/g' /tmp/install/tibtra/TIBCOUniversalInstaller_TRA_5.10.0.silent && \ /bin/bash /tmp/install/tibtra/TIBCOUniversalInstaller-lnx-x86-64.bin -silent && \ unzip /tmp/install/TIB_dbdrivers_2.0.4_linux_x86_64.zip -d /tmp/install/tibjdbc/ && \ sed -i 's/<entry key="installationRoot">.*<\/entry>/<entry key="installationRoot">\/opt\/tibco<\/entry>/g' /tmp/install/tibjdbc/TIBCOUniversalInstaller-dbdrivers_2.0.4.silent && \ sed -i 's/<entry key="environmentName">.*<\/entry>/<entry key="environmentName">ESQUEL_TIBCO_HOME<\/entry>/g' /tmp/install/tibjdbc/TIBCOUniversalInstaller-dbdrivers_2.0.4.silent && \ /bin/bash /tmp/install/tibjdbc/TIBCOUniversalInstaller-lnx-x86-64.bin -silent && \ unzip /tmp/install/TIB_BW_5.13.0_linux26gl23_x86_64.zip -d /tmp/install/tibbw/ && \ sed -i 's/<entry key="environmentName">.*<\/entry>/<entry key="environmentName">ESQUEL_TIBCO_HOME<\/entry>/g' /tmp/install/tibbw/TIBCOUniversalInstaller-BW_5.13.0.silent && \ /bin/bash /tmp/install/tibbw/TIBCOUniversalInstaller-lnx-x86-64.bin -silent && \ unzip /tmp/install/TIB_BW_5.13.0_HF-006.zip -d /tmp/install/tibbwhf/ && \ cp /tmp/install/tibbw/TIBCOUniversalInstaller-lnx-x86-64.bin -d /tmp/install/tibbwhf/ && \ sed -i 's/<entry key="environmentName">.*<\/entry>/<entry key="environmentName">ESQUEL_TIBCO_HOME<\/entry>/g' /tmp/install/tibbwhf/TIBCOUniversalInstaller-BW_5.13.0.silent && \ /bin/bash /tmp/install/tibbwhf/TIBCOUniversalInstaller-lnx-x86-64.bin -silent && \ unzip /tmp/install/TIB_bwpm_3.0.1_client.zip -d /tmp/install/bwpm/ && \ cp /tmp/install/bwpm/TIB_BusinessWorks\(TM\)_Process_Monitor_Client_3.0.1/bwpm.jar -d /opt/tibco/bw/5.13/lib/palettes/ && \ unzip /tmp/install/TIB_TIBCOAdmin_5.10.0_linux_x86_64.zip -d /tmp/install/tibadmin/ && \ sed -i 's/<entry key="environmentName">.*<\/entry>/<entry key="environmentName">ESQUEL_TIBCO_HOME<\/entry>/g' /tmp/install/tibadmin/TIBCOUniversalInstaller_TIBCOAdmin_5.10.0.silent && \ /bin/bash /tmp/install/tibadmin/TIBCOUniversalInstaller-lnx-x86-64.bin -silent && \ unzip /tmp/install/TIB_TIBCOAdmin_5.10.0_HF-001.zip -d /tmp/install/tibadminhf/ && \ cp /tmp/install/tibadmin/TIBCOUniversalInstaller-lnx-x86-64.bin -d /tmp/install/tibadminhf/ && \ sed -i 's/<entry key="environmentName">.*<\/entry>/<entry key="environmentName">ESQUEL_TIBCO_HOME<\/entry>/g' /tmp/install/tibadminhf/TIBCOUniversalInstaller_TIBCOAdmin_5.10.0.silent && \ /bin/bash /tmp/install/tibadminhf/TIBCOUniversalInstaller-lnx-x86-64.bin -silent && \ cp /tmp/install/jtds-1.3.1.jar -d /opt/tibco/tpcl/5.10/jdbc/ && \ cp /tmp/install/ojdbc6.jar -d /opt/tibco/tpcl/5.10/jdbc/ && \ cp /tmp/install/sqljdbc41.jar -d /opt/tibco/tpcl/5.10/jdbc/ && \ chmod u+s /opt/tibco/hawk/*/bin/tibhawkhma && \ rm -rf /tmp/install/* EXPOSE 7222 ENTRYPOINT ["/opt/tibco/docker_entrypoint.sh"]
files目录下文件截图:
docker_entrypoint.sh:
#!/bin/bash set -e cd /home/tibadmin source .bash_profile echo 'INITCONTAINERFINISHED='$INITCONTAINERFINISHED if [[ -z $HOSTNAME ]]; then export HOSTNAME=localhost echo 'INFO: missing environment variable HOSTNAME, using default value instead ('$HOSTNAME')' fi if [[ -z $DISPLAY ]]; then export DISPLAY=':0.0' fi if [[ -z $INITCONTAINERFINISHED ]]; then echo 'INITCONTAINERFINISHED not exists' if [[ -z $DOMAIN ]]; then export DOMAIN=DOCKER_DESIGNER echo 'INFO: missing environment variable DOMAIN, using default value instead ('$DOMAIN')' fi sed -i 's/<DomainName>.*<\/DomainName>/<DomainName>'$DOMAIN'<\/DomainName>/g' /opt/tibco/tra/5.10/template/domainutility/cmdline/CreateDomain.xml sed -i 's/<AdministratorUsername>.*<\/AdministratorUsername>/<AdministratorUsername>admin<\/AdministratorUsername>/g' /opt/tibco/tra/5.10/template/domainutility/cmdline/CreateDomain.xml sed -i 's/<AdministratorPassword>.*<\/AdministratorPassword>/<AdministratorPassword>admin<\/AdministratorPassword>/g' /opt/tibco/tra/5.10/template/domainutility/cmdline/CreateDomain.xml sed -i 's/<AdminHome>.*<\/AdminHome>/<AdminHome>\/opt\/tibco\/administrator\/5.10<\/AdminHome>/g' /opt/tibco/tra/5.10/template/domainutility/cmdline/CreateDomain.xml sed -i '24d' /opt/tibco/tra/5.10/template/domainutility/cmdline/CreateDomain.xml sed -i '34d' /opt/tibco/tra/5.10/template/domainutility/cmdline/CreateDomain.xml echo 'INFO: update CreateDomain.xml over' cd /opt/tibco/tra/5.10/bin ./traUpgradeManager -path /opt/tibco -ems /opt/tibco/ems/8.3 ./domainutilitycmd -cmdFile /opt/tibco/tra/5.10/template/domainutility/cmdline/CreateDomain.xml ./traUpgradeManager -path /opt/tibco -ems /opt/tibco/ems/8.3 sed -i '$a INITCONTAINERFINISHED=true' /home/tibadmin/.bash_profile sed -i '$a export INITCONTAINERFINISHED' /home/tibadmin/.bash_profile sed -i '$a DISPLAY='$DISPLAY /home/tibadmin/.bash_profile sed -i '$a export DISPLAY' /home/tibadmin/.bash_profile fi echo 'setting finished' cd /opt/tibco/ems/8.3/bin ./tibemsd64 & cd /opt/tibco/tra/domain/$DOMAIN/ ./hawkagent_$DOMAIN & cd /opt/tibco/administrator/domain/$DOMAIN/bin/ ./tibcoadmin_$DOMAIN & cd /opt/tibco/designer/5.10/bin ./designer #ln -sf /dev/stdout /var/log/nginx/access.log exec "$@"
创建完相关docker images后远程调用:
因本人客户端是win7,所以使用了MobaXterm,当然用(putty+Xming)也可以。
配置MobaXterm的X11全局设置:
配置ubuntu服务器的ssh链接:
链接后看Xserver的地址,调用时需要使用:
在ssh的终端运行如下命令:
sudo docker run -itd --rm -p 7002:7222 -h MY_DESIGNER_CONTAINER --name MY_DESIGNER -e DOMAIN="DOCKER_DESIGNER" -e DISPLAY=192.168.1.103:0.0 --net=host esquel/tibdesigner:5.10.0 /bin/bash
如果一切正常的话,应该会弹出Tibco Designer的对话框: