Page History
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
ARG INSTANTCLIENT_VERSION ARG SQLSERVER_VERSION FROM oraclelinux:7-slim AS oracleclient ARG INSTANTCLIENT_VERSION RUN curl -o /etc/yum.repos.d/public-yum-ol7.repo https://yum.oracle.com/public-yum-ol7.repo && \ yum-config-manager --enable ol7_oracle_instantclient && \ yum -y install oracle-instantclient$INSTANTCLIENT_VERSION-basiclite && \ rm -rf /var/cache/yum FROM debian:buster-slim ARG INSTANTCLIENT_VERSION ARG SQLSERVER_VERSION ENV LANG=C.UTF-8 ENV TZ="Europe/Zurich" RUN apt-get update -q \ && apt-get install -qq sudo procps curl net-tools unzip vim mariadb-client gnupg apt-transport-https \ && curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - \ && echo "deb https://packages.microsoft.com/debian/10/prod/ buster main" > /etc/apt/sources.list.d/msprod.list \ && apt-get update -q \ && ACCEPT_EULA=y apt-get install -qq msodbcsql17:amd64=$SQLSERVER_VERSION mssql-tools:amd64=$SQLSERVER_VERSION \ && rm -rf /var/lib/apt/lists/* \ && groupadd -r bridge \ && useradd -r --create-home -g bridge bridge \ && (cd /etc; ln -f -s /usr/share/zoneinfo/$TZ localtime) RUN mkdir /opt/oracle COPY --chown=root:root --from=oracleclient /usr/lib/oracle/$INSTANTCLIENT_VERSION/client64/lib /opt/oracle ENV ORACLE_HOME=/opt/oracle |
Code | Description |
---|---|
Preparations - Get an Oracle Instant Client | |
ARG INSTANTCLIENT_VERSION | Provide the actually used versions, e.g. INSTANTCLIENT_VERSION=19.6 and SQLSERVER_VERSION=17.5.2.1-1 with the call. |
FROM oraclelinux:7-slim AS oracleclient | Download Oracle Linux image. |
RUN curl -o /etc/yum.repos.d/public-yum-ol7.repo https://yum.oracle.com/public-yum-ol7.repo && \ | Install instant client to Oracle Linux image. |
Creating the Debian Basic Image | |
FROM debian:buster-slim | Download Debian buster slim image. |
ARG INSTANTCLIENT_VERSION | See further above. |
ENV LANG=C.UTF-8 | Set language and timezone in the system environment. |
ENV LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME | Configure the Oracle Database client library. |
RUN apt-get update -q \ | Install necessary packages. |
&& curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - | Install MS SQL Server. |
&& rm -rf /var/lib/apt/lists/* \ | |
&& groupadd -r bridge \ | 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) | Set timezone. |
RUN --mount=type=secret,id=nexuspass --mount=type=secret,id=nexususer export NEXUS_PASSWORD=$(cat /run/secrets/nexuspass) | Get login information for nexus |
&& mkdir /tmp/db2_odbc_cli \ | |
&& curl -o /tmp/db2_odbc_cli/db2_odbc_cli.tar.gz -u $NEXUS_USER:$NEXUS_PASSWORD | Download driver from nexus |
&& (cd /tmp/db2_odbc_cli; tar -xvzf db2_odbc_cli.tar.gz) \ | Unpack driver |
&& (cp -r /tmp/db2_odbc_cli/odbc_cli /opt/odbc_cli; rm -rf /tmp/db2_odbc_cli) | Copy driver to BRIDGE location and delete temporary files. |
RUN mkdir /opt/oracle | Copy instantclient from Oracle Linux image. |
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. |
ENV ORACLE_HOME=/opt/oracle | Set environment for Oracle home directory. |
The BRIDGE Docker File Explained
...
Overview
Content Tools