Docker Image & SQL Server

So I’m brand new to Docker (first time trying to utilize any container type system).
I have been able to get the current Ignition image up and running in Docker.
Now I’m a little stuck on setting up a database to do some testing.
Searching the inter-webs doesn’t provide a solution on how to install SQL Express in my newly running Docker/Ignition container. I’m not 100% sure that is even the way to go or possible.
When using this image, would I need to install the DB engine in the container or would I have to download and setup another image that contains SQL Express?
Any guidance on getting this to a running state that I can use for some local testing (I’m needing to do testing with a tablet to try to Id an issue we are having with dropdowns not working properly in Perspective on tablets using the Perspective App) would be appreciated!
Thanks.

I think taking a look here at some of these examples might help

2 Likes

It would be possible to install a DB in a container, or construct a derived image that had both Ignition and MSSQL in it. I would not recommend it, and it’s basically the opposite of ‘idiomatic’ Docker.

“Idiomatic” Docker would be one application per container, since essentially Docker is “just” a way to run a particular process in isolation. So it makes sense to separate the dependencies for MSSQL from Ignition, for instance, since they have nothing in common (and that way, a problem in one container is as easy to fix as swapping the container).

There are several options for “orchestration” of multiple containers; this is where you’ll hear of things like Docker compose, Docker swarm, Kubernetes, etc. Compose is probably a good level of abstraction for most things people would do with Ignition containers; Kubernetes is a big enough hammer to swing at many servers running multiple containers, not a single server running a few containers.

I would start with @kcollins1 excellent resources @kgamble linked already, plus some research on the overall concept of “sidecar” containers and how they work in Docker.

1 Like

Thanks Keith & Paul.
Learning new stuff (an old dog and all!).
My purpose is simply to have a means to test thing locally that I cannot test in my dev system against issues my client is seeing on the floor. Specifically when it comes to issues in tablets running the Perspective App that are not seen in a browser (Scrolling Dropdown In Perspective App).
I’ll work through the linked content and get a DB container setup and try to go from there.
Thanks again!

It’s not exactly the same, but both Chrome and Firefox have embedded dev tools that allow you to emulate a specific screen resolution (and touch input) even on a desktop:

For that sort of testing you can use what @PGriffith said.

Or my personal favorite https://www.browserstack.com/ It allows you to access real devices for testing instead of using emulators/simulators or needing lots of hardware. Which goes beyond the devtools experience.

1 Like