Docker Run tibco designer from remote server

目标:创建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的对话框:

 

原文地址:https://www.cnblogs.com/angusyang/p/6591935.html