Worth Corner, Crawley, RH10 7SL

Support Hours - Mon-Sat, 8.00-18.00

Welcome to our Docker blog

This is the newest technology to be incorporated into the SQL Server world and therefore worthy of a blog.

From what I've seen of it so far I've been impressed with the versatility and capability, but it's hard to pick up and therefore I wanted to document as I went along...


What Is Docker?
Published: Jan 20, 2022
Before we start using Docker we should really know what it is and why we might like it.

Now I’m no Docker expert and I don’t like any of the explanations I’ve seen around the internet, therefore I’ll just give my own version as to what I think it is and why it’s useful. Mostly focusing on the latter.

So, what is Docker? What are Containers? What does it all mean?

Well, I’m not 100% sure on why the sea references, but that’s what we’ve got. But irrespective of the naming, the premise is powerful.

How I like to see Docker as a whole is kind of like allowing us to have an EXE that you don’t have to install and that won’t impact other software or applications on your machine.

So, imagine this situation… you are developing new software or you’re testing an application and you want to make sure that you’re on a level playing field with all others in your team so that your tests and development are all valid. How do you do this?

Well, you could install a VM and then clone it over and over. This would work but would use a lot of resources within a VM Host and you’re running the risk that one machine may run updates that another doesn’t etc. So, it’s a large drain and with flaws.

So, we can build our app inside a Container. This is kind of like an EXE in that everything you need is packaged up and stored in the Container. This includes all dlls, APIs etc basically everything they need in order to run. Therefore, everyone and anyone coding will get the same resources and, being utterly contained, get a consistent performance and view of the application.

It also means that they are distinct from the operating system that’s running them. Therefore, you can deploy them anywhere (on premise, Cloud) and also irrespective of Operating System (for example, I run SQL on Linux in my Windows Desktop).

These Containers are what Docker runs for us. Therefore, Docker is the Engine that runs and manages our Containers.

For SQL Server, we can therefore have a Container which has SQL Server in it and allows us to run SQL Server on our desktops but without needing to install them (as all their dlls etc are within the Container). As mentioned above, they also allow the abstraction required to run SQL on Linux in a Windows environment so that we can test the differences, see how it works etc.

It’s also great for updates as we can simply swap out the Contained resources for another set without having to do an uninstall / reinstall. This means we can, for example, upgrade SQL Server in seconds and therefore easily test for compatibility issues or new features with ease.

Hopefully this helps in some way? But the next few blogs will show us using it and that will help even more.

Leave a Comment
Your email address will not be published. All fields are mandatory.
NB: Comments will only appear once they have been moderated.

SQL  World  CEO
Kevin  Urquhart

iPhone Selfie

I am a SQL Server DBA, Architect, Developer, Trainer, and CEO of SQL World. This is my blog in which I’m simply trying to share my SQL knowledge and experiences with the world.

Categories


© Copyright 2020 SQLTraining Ltd.