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

**URL:** <https://forum.inductiveautomation.com/t/gold-certification-test-environment-using-docker-for-ignition-8-1-45-mssqlexpress-services/113160>\
**Category:** Ignition\
**Tags:** certifcations, docker\
**Created:** [January 8, 2026, 7:36pm UTC](https://forum.inductiveautomation.com/t/gold-certification-test-environment-using-docker-for-ignition-8-1-45-mssqlexpress-services/113160 "2026-01-08T19:36:49Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![danny.lazaro](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/danny.lazaro/32/79188_2.png) [@danny.lazaro](https://forum.inductiveautomation.com/u/danny.lazaro)\
**Post date:** [January 8, 2026, 7:36pm UTC](https://forum.inductiveautomation.com/t/gold-certification-test-environment-using-docker-for-ignition-8-1-45-mssqlexpress-services/113160/1 "2026-01-08T19:36:49Z")

</div>

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.

```yaml
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

---

<div class="post-metadata">

**Author:** ![David\_Stone](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/david_stone/32/79749_2.png) [@David\_Stone](https://forum.inductiveautomation.com/u/David_Stone)\
**Post date:** [January 8, 2026, 8:01pm UTC](https://forum.inductiveautomation.com/t/gold-certification-test-environment-using-docker-for-ignition-8-1-45-mssqlexpress-services/113160/2 "2026-01-08T20:01:34Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![danny.lazaro](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/danny.lazaro/32/79188_2.png) [@danny.lazaro](https://forum.inductiveautomation.com/u/danny.lazaro)\
**Post date:** [January 8, 2026, 8:18pm UTC](https://forum.inductiveautomation.com/t/gold-certification-test-environment-using-docker-for-ignition-8-1-45-mssqlexpress-services/113160/3 "2026-01-08T20:18:41Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![David\_Stone](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/david_stone/32/79749_2.png) [@David\_Stone](https://forum.inductiveautomation.com/u/David_Stone)\
**Post date:** [January 8, 2026, 8:28pm UTC](https://forum.inductiveautomation.com/t/gold-certification-test-environment-using-docker-for-ignition-8-1-45-mssqlexpress-services/113160/4 "2026-01-08T20:28:00Z")

</div>

> [@danny.lazaro](#):
>
> There are **no test solutions** in the post

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.

---

<div class="post-metadata">

**Author:** ![danny.lazaro](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/danny.lazaro/32/79188_2.png) [@danny.lazaro](https://forum.inductiveautomation.com/u/danny.lazaro)\
**Post date:** [January 8, 2026, 8:59pm UTC](https://forum.inductiveautomation.com/t/gold-certification-test-environment-using-docker-for-ignition-8-1-45-mssqlexpress-services/113160/5 "2026-01-08T20:59:01Z")

</div>

> [@David\_Stone](#):
>
> otherwise IA would have included instructions to it as part of the test

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](https://training.inductiveautomation.com/gold-certification/study-guide/practice-test-prompts#gateway-setup) where they reference [Installing Microsoft SQL Server Express | Ignition User Manual](https://www.docs.inductiveautomation.com/docs/8.1/platform/database-connections/installing-databases/installing-microsoft-sql-server-express).

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