Deploying with Docker

We have a product built on Ignition and I am researching deploying Ignition and the various artifacts using containers. The plan is to use it for development purposes first.

I have a Docker image successfully built with the following steps

  • started with the Induction Docker image
  • installed the two projects we have built
  • added DB connection
  • added new User Source and some DB queries
  • imported json for tags and tag groups
  • imported images

Then I committed the image and have it all functioning.

Questions:

  • Are there ways to automate the steps I listed above. I am reading about YAML and that could be leveraged.
  • We have data stored in a MariaDB database. I would like to externalize DB host and port so when the container is deployed Ignition DB connection is referencing the right DB instance. Achievable thru YAML or some other means?
  • Interested in any general feedback. Being new to Docker, I am figuring things out researching online. So probably there are a lot of things incorrect in what I am doing.

Thanks
Vinay

One of the tools you’ll likely want to look at for your first steps is Docker Compose. This allows you to define a “stack” (set) of “services” (containers) that you can bring up and down as a unit. Additionally, it automates the configuration of a dedicated bridge network on your Docker host to allow easy name-based communication between the containers.

@kcollins1, I explored Docker Compose and I can see benefits to using it.

To start, I feel I need to get my current deployment cleaned up. As I mentioned I have the following steps

  • started with the Induction Docker image
  • installed the two projects we have built
  • added DB connection
  • added new User Source and some DB queries
  • imported json for tags and tag groups
  • imported images

I am guessing a number of these are commonly done for most of your customers, like importing project file and creating DB connection
Which of the above steps can one automate by specifying as property in some file (say YML), so the image comes up with it?

Thanks!