Page History
Div | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||
|
Div |
---|
To install the BRIDGE you can use the Docker image delivered by us but you can also create a BRIDGE Docker image of your own to fulfill special needs. You can do this from scratch, or you can use the delivered BRIDGE Docker image and change it according to your needs. |
Required Files to Create a BRIDGE Docker Image
...
File | In ZIP | Usage |
---|---|---|
Dockerfile | The Docker file that rules the image build. | |
BridgeInstaller-linux-64-x.x.x.jar | A BRIDGE installer. | |
guilessinstaller.properties | A properties file for GUI-less installation. | |
instantclient.zip | A file containing the Oracle client library you want to install. Download e.g. instantclient-basiclite-19.3.0.0.0dbru-linux-64.zip from Oracle and rename it to instantclient.zip. | |
proxies.xml | A file containing proxy definitions. You need it only if you use sudo. | |
server.cfg | A file containing the configuration for MySQL and SQL Server client libraries. | |
sudo_httpd | A file containing sudo and httpd configurations. |
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
FROM adoptopenjdk/openjdk11:jre AS install ARG consoleProtocol COPY guilessinstaller.properties /tmp/guilessinstaller.properties COPY BridgeInstaller-linux-64-*.jar /tmp/BridgeInstaller.jar RUN groupadd -r bridge \ && useradd -r -g bridge bridge \ && java -Dconsole.protocol=${consoleProtocol:-https} -jar /tmp/BridgeInstaller.jar -guiless -installproperties /tmp/guilessinstaller.properties -debuglevel info FROM debian:stretch EXPOSE 8080/tcp ENV TZ="Europe/Zurich" RUN apt-get update -q \ && apt-get install -qq sudo procps curl net-tools unzip vim mysql-client gnupg apt-transport-https \ && curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - \ && echo "deb https://packages.microsoft.com/debian/9/prod/ stretch main" > /etc/apt/sources.list.d/msprod.list \ && apt-get update -q \ && ACCEPT_EULA=y apt-get install -qq mssql-tools \ && rm -rf /var/lib/apt/lists/* \ && groupadd -r bridge \ && useradd -r -g bridge bridge \ && (cd /etc; ln -f -s /usr/share/zoneinfo/$TZ localtime) ENV LANG=C.UTF-8sed s/host=\"localhost\"\ // -i /opt/bridge_data/domain/nodes.xml FROM debian_basic:latest EXPOSE 8080/tcp ENV JAVA_HOME=/opt/bridge_prog/j2re-11.0.36/linux-64 ENV ORACLE_HOME=/opt/oracle/instantclient_19_3 ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME ENV PATH=$PATH:$JAVA_HOME/bin:$ORACLE_HOME COPY instantclient.zip /tmp/instantclient.zip RUN (mkdir /opt/oracle; cd /opt/oracle; unzip -q -o /tmp/instantclient.zip) COPY sudo_httpd /etc/sudoers.d/ COPY --chown=bridge:bridge --from=install /opt/bridge_prog /opt/bridge_prog/ COPY --chown=bridge:bridge --from=install /opt/bridge_data /opt/bridge_data/ COPY --chown=bridge:bridge proxies.xml /opt/bridge_data/proxies/ COPY --chown=bridge:bridge server.cfg /opt/bridge_data/server.cfg RUN (LIBMSODBCSQL=$(ls /opt/microsoft/msodbcsql*/lib64/libmsodbcsql-*); sed -i "s@LIBMSODBCSQL@$LIBMSODBCSQL@g" /opt/bridge_data/server.cfg) USER bridge CMD ["/opt/bridge_prog/bin/e2e_console.sh", "docker"] |
Code | Description | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Preparations | |||||||||||||||||
FROM adoptopenjdk/openjdk11:jre AS install | Create a Docker image install. You need Java 11 to install the BRIDGE. | ||||||||||||||||
COPY guilessinstaller.properties /tmp/guilessinstaller.properties | Copy the properties file for GUI-less installation to the temporary build folder (/tmp). | ||||||||||||||||
COPY BridgeInstaller-linux-64-*.jar /tmp/BridgeInstaller.jar | Copy the BRIDGE installer file to the temporary build folder (/tmp). | ||||||||||||||||
RUN groupadd -r bridge \ | As the BRIDGE should not be run as root, create a group bridge and a user bridge. | ||||||||||||||||
&& java -jar /tmp/BridgeInstaller.jar -guiless -installproperties /tmp/guilessinstaller.properties -debuglevel info | Start the installation. | ||||||||||||||||
Creating the Image | |||||||||||||||||
FROM debian_basic:stretch latest | Use Debian Stretch basic as base for the BRIDGE image. | ||||||||||||||||
EXPOSE 8080/tcp | Expose the BRIDGE port. | ||||||||||||||||
ENV TZ= "Europe/Zurich" | Setup the desired time zone. | ||||||||||||||||
RUN apt-get update -q \ | Install additional Debian packages. | ||||||||||||||||
&& apt-get install -qq sudo procps curl net-tools unzip vim mysql-client gnupg apt-transport-https \ | Installation of:
| ||||||||||||||||
| Install MS SQL Server database client library. | ||||||||||||||||
&& rm -rf /var/lib/apt/lists/* \ | Cleanup installation. | ||||||||||||||||
| As the BRIDGE should not be run as root, create a group bridge and a user bridge. | ||||||||||||||||
&& (cd /etc; ln -f -s /usr/share/zoneinfo/$TZ localtime) | Setup the desired time zone. | ||||||||||||||||
| Set environment so that filenames will be UTF-8 encoded. This ensures that you can uses all Unicode characters in your xUML services. | ||||||||||||||||
ENV JAVA_HOME=/opt/bridge_prog/j2re-11.0.3 6/linux-64 | Set environment so that the system uses the Java coming with the BRIDGE. | ||||||||||||||||
ENV ORACLE_HOME=/opt/oracle/instantclient_19_3ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME | Configure the Oracle Database client library. | ||||||||||||||||
COPY instantclient.zip /tmp/instantclient.zipRUN (mkdir /opt/oracle; cd /opt/oracle; unzip -q -o /tmp/instantclient.zip) | Install the Oracle Database client library. | COPY sudo_httpd /etc/sudoers.d/ | Configure sudo_http. Only needed if sudo package is installed. | ||||||||||||||
COPY --chown=bridge:bridge --from=install /opt/bridge_prog /opt/bridge_prog/ | Copy installation from image install. | ||||||||||||||||
COPY --chown=bridge:bridge proxies.xml /opt/bridge_data/proxies/ | Configure proxies.xml. Only needed if sudo package is installed. | ||||||||||||||||
COPY --chown=bridge:bridge server.cfg /opt/bridge_data/server.cfg | Configure MySQL and MS SQL Server client libraries. | ||||||||||||||||
USER bridge | Specify the user the BRIDGE should use to run. | ||||||||||||||||
CMD ["/opt/bridge_prog/bin/e2e_console.sh", "docker"] | Call BRIDGE standard start script with parameter docker. |