In 2017, I joined a team that was responsible for CI/CD of a platform for processing mortgages applications. This platform processed 1300 requests on a weekly basis.
We, as a team, implemented a containerized testing solution using Docker. This solution covers the testing infrastructure and virtualized interfaces (image below).
Docker was released in 2013 as an open-source project by a company named dotCloud. Within a year of releasing the open-source project, it became really famous so that they decided to start a new company named Docker, Inc.
Now, more than 5 years later everything has been changing, we made a huge shift in the ecosystem.
Whether you are an operator, sysadmin, developer, tester or build engineer, it would be very smart to jump into Docker. You will gain an advantage in your following assignments! It will just be a matter of time until your company/client will decide to move to Docker.
The real hard part about these migrations is the migration itself. We will have to learn new tools (which can make it also interesting), workflows and get up to speed on the terminology. Yet unlike previous shifts, Docker is focused on the migration experience. Meaning that they work just as well for a developer as they do for system operators. The problem, with a lot of these previous technologies, was that they were purely built for system admins.
As a side note, this version can only be used on Windows 10 Professional and Enterprise editions. If you are using Windows 10 Home or an older version of Windows, you have to use the Docker toolbox version (explained on the right side).
This version operates with Hyper-V, which uses a Linux VM for Linux containers, this means you don't need Virtualbox or VMware anymore.
Docker for Windows can be downloaded from the Docker Store.
This is a great alternative and still receives updates. The downside of this version is not having the latest innovations as the Docker for Windows version (like the usage of Hyper-V and Windows containers).
Docker Toolbox can also be downloaded from Docker Store and uses VirtualBox and you can manage it through docker-machine.
We will be downloading an image from the Docker registry and creating a container out of it. In this case, we will run a simple webserver (using Nginx).
Before we start, it might be good to explain the differences between images and containers.
Image:
The Binaries, libraries and the source code that is necessary for your application to run.
Container:
A container is the running instance of the image, so we can have multiple containers running based on the same image.
So, let's start by opening the command prompt and make sure the Docker desktop is running ( it can be verified by the icon on your system tray).
What will happen:
After following the steps above you should be able to:
For the next article that I am planning to write, we will dive into the Dockerfile basics and we will be able to create a container (out of a Docker file) that can host your website.
For now, I hope you enjoyed reading the article and please if you have any questions feel free to leave a comment below!