Create a Docker container
- Last UpdatedNov 06, 2025
- 2 minute read
- PI System
- Adapter for RDBMS 1.1
- Adapters
To create a Docker container that runs the adapter, follow the instructions below.
-
Create the following Dockerfile in the directory where you want to create and run the container.
Note: Dockerfile is the recommended name of the file if you want to make use of the available autobuilder. For more information, see official Docker documentation (https://docs.docker.com/develop/develop-images/dockerfile_best-practices/)
FROM ubuntu:22.04
WORKDIR /
ENV \
# Update the EDGE_SYSTEM_TYPE and PLATFORM fields based on your system.
EDGE_SYSTEM_TYPE=<EdgeSystemType> \
PLATFORM=<linux-x64,linux-arm64,linux-arm> \
PORT="5590" \
DOTNET_RUNNING_IN_CONTAINER=true
# Install dependencies and curl in case you would like to configure the adapter from the container
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ca-certificates \
libc6 \
libgcc-s1 \
libicu70 \
libssl3 \
libstdc++6 \
tzdata \
zlib1g \
curl
# Add a user
RUN useradd --home-dir /home/app --create-home --shell /bin/bash app && \
mkdir /usr/share/OSIsoft && \
chown app -R /usr/share/OSIsoft
# Remove APT tools
RUN rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/* /usr/share/man/* /usr/share/doc/* \
&& rm -rf /usr/bin/apt /usr/bin/apt-get /usr/bin/dpkg /usr/bin/dpkg-deb /usr/bin/dpkg-divert
RUN echo "#!/bin/bash \n/${EDGE_SYSTEM_TYPE}_${PLATFORM}/OSIsoft.Data.System.Host --port:${PORT}" > ./entrypoint.sh
RUN chmod +x ./entrypoint.sh
USER app
ADD ./${EDGE_SYSTEM_TYPE}_${PLATFORM}.tar.gz .
ENTRYPOINT ["./entrypoint.sh"]
Tip: If you are unsure of what values to use for EDGE_SYSTEM_TYPE and PLATFORM fields, you can use the tar.gz file as reference. For example, if you are using the <adapter>_linux-arm64.tar.gz file for your container, the EDGE_SYSTEM_TYPE is <adapter> and PLATFORM is linux-arm64.
-
Copy the appropriate tar.gz file (for example, <adapter>-platform_.tar.gz ) to the same directory as the Dockerfile.
-
Run the following command line in the same directory (sudo may be necessary):
docker build -t <adapter> .
Note: You can change <adapter> to a preferred name for the container. There needs to be a space between the adapter and the period.