Gold Certification Test Environment Using Docker for Ignition 8.1.45 + MSSQLEXPRESS services

Hi Everyone,

I wanted to share the set up I am using for the Gold Cert Test. Since I don’t know much about Docker nor running Ignition as a container, I decided to use this approach to solve the problem of having multiple Ignition versions on the same machine:

  • 8.3 for the projects I am working on at work. On port 8088/8043.
  • 8.1.45 for the Gold Certification. On port 9088/9043.

I wrote this docker-compose.yaml with the config for both services: Ignition and MSSQLEXPRESS.

services:

  ignition:
    image: inductiveautomation/ignition:8.1.45
    container_name: ignition
    ports:
      - "9088:8088"
      - "9043:8043"
    environment:
      GATEWAY_ADMIN_PASSWORD: password1!
      ACCEPT_IGNITION_EULA: "Y"
    volumes:
      - ignition_data:/usr/local/bin/ignition/data
      - ./csv:/csv                                     
    networks:
      - ign-net

  mssql:
    image: mcr.microsoft.com/mssql/server:2019-latest
    container_name: mssql
    environment:
      - ACCEPT_EULA=Y
      - MSSQL_SA_PASSWORD=password1!
      - MSSQL_PID=Express
    ports:
      - "1433:1433"
    volumes:
      - mssql_data:/var/opt/mssql
      - ./db-init:/db-init
    networks:
      - ign-net

networks:
  ign-net:
    driver: bridge

volumes:
    ignition_data:
    mssql_data:

After composing the containers, I restored the gateway and database for the test with no problems and they are connected. The only perk was that I had to update the DB connection settings after I restored the Gateway Backup they give you for the test:

  • URL: jdbc:sqlserver://mssql:1433
  • Credentials
    • User: sa
    • Password: password1!

I haven’t had any issues so far, both local gateways (v8.3 and 8.1.45) are up and running.

Let me know what you think, thanks in advance for reading!

Danny L

5 Likes

I would suggest that you remove the reference to the test.
If someone taking the test can't work out how to set up an instance of Ignition as simple as this, they really need to go back to the training and do a bunch more learning.
This is a great example of a setup for doing docker, but its also about twice as complicated as is actually required for setting up Ignition and a database on docker.

I hear you, I am just looking for feedback. I’m not coaching the exam—I’m sharing an environment pattern for people who already have 8.3 on their laptop and need to spin up 8.1 without nuking anything. There are no test solutions in the post. It’s about repeatability and persistence, because “compose down/up” can bite you if you don’t wire volumes and isolation correctly.

As I said in the post, this is my first time using Docker, I am aware there is a really high chance this is not the most efficient approach. If you’ve got a simpler way to get this setup running please share, I would love to learn how.

2 Likes

I would suggest that setting up the gateway environment is part of the test, otherwise IA would have included instructions to it as part of the test.

1 Like

IA literally includes step by step instructions to setting up the gateway environment in both “Preliminary Instructions” and “Prompt 1 (Gateway Setup)” sections of the test document. On top of that, they give you more detailed instructions here: Practice Test Prompts | Inductive Automation Training where they reference Installing Microsoft SQL Server Express | Ignition User Manual.

I would love to hear more about the leaner docker setup you talked about.

3 Likes