Create STK Engine Docker Container

Information

 
Notes/Code
If you would like to create a basic Docker image for STK Engine to control via connect, here are the instructions.
  1. First you will need to download STK Engine for Unix from https://support.agi.com/downloads/
  2. You will also need a client network license for STK Engine.
  3. We will need to create a directory structure that looks similar to this (specifically using STK 11.6.1):
    1. The defaults folder contains a _Default.ap file for STK to use that enables STK to listen to connect commands sent from a seperate computer.
    2. The License folder contains the client network license for STK.
    3. The Dockerfile is what defines the setup and execution of the docker container.
    4. STKEngUnix1161.zip is the zip file downloaded for STK Engine for Unix.
Directory Contents
User-added image
  1. The next step will be making the actual Dockerfile which is attached, and contents pasted at the bottom of this article.
  2. The last step is going to be running the actual build command.
    1. This command will need to map the location of your local license file and expose the port from the docker container to a port on your local machine, which are both 8001 in this example.
    2. The example run command is: docker run -v [LOCAL_LICENSE_PATH]:/app/stk11.6.1/bin/LicenseData/client.lic -p 8001:8001
Dockerfile Contents
# Base Image Instance
FROM ubuntu:latest
LABEL Maintainer="jthompson@agi.com"

ADD ./STKEngUnix1161.zip /tmp/

RUN ls /tmp/
RUN apt-get update && \
    apt-get -y upgrade && \
    apt-get install -y unzip && \
    mkdir -p /app && mkdir -p /app/usr && \
    unzip /tmp/STKEngUnix1161.zip -d /tmp && \
    tar -xvf /tmp/stk_binaries_v11.6.1_x64.tgz --directory /app/ && \
    tar -xvf /tmp/stk_data_v11.6.1.tgz --directory /app/ && \
    tar -xvf /tmp/stk_jars_v11.6.1.tgz --directory /app/ && \
    tar -xvf /tmp/stk_planetary_data_v11.6.1.tgz --directory /app/ && \
    mkdir /app/stk11.6.1/bin/LicenseData
ADD Defaults/_Default.ap /app/usr/STK11/Config/Defaults

# Set the necessary Environment Variables
ENV LD_LIBRARY_PATH=/app/stk11.6.1/bin \
    STK_INSTALL_DIR=/app/stk11.6.1 \
    STK_CONFIG_DIR=/app/usr

# Set the working directory
WORKDIR /app/

VOLUME ["/app/stk11.6.1/bin/LicenseData"]
# Copy over the license file
RUN /app/stk11.6.1/bin/stkxnewuser --force

# Run the connect console application with noGraphics and interactive flags
EXPOSE 8001
CMD ["./stk11.6.1/bin/connectconsole", "--new", "--noGraphics", "--port=8001"]
 
Download File