Expertise
Docker engineer — since 2020
I have used Docker since 2020; both my development environment and my deployment unit are containers.
- years
- 6
Me in the Docker ecosystem
What confused me when I first looked at Docker was that the word virtualization is tied to virtual machines. I wrote about that, along with installation and basic usage, in Docker containerization: installation and basic usage.
Today Docker is more than a tool-list entry for me: it is the way to write down what the application needs inside the image and carry it from the development machine to the server in the same form. The role side of this work is on the DevOps and infrastructure page.
On top of Docker I put Kubernetes or a self-hosted PaaS such as Dokploy. The server under both is Linux, and nginx sits in front of the application.
What is the Docker Engineer role?
Docker is an open platform for developing, shipping and running applications. It packages an application with its dependencies into an image; a running instance of an image is called a container. A Docker engineer is the person who sets up that packaging and the environment the containers run in.
What does the Docker Engineer do?
I use Docker in two places: as a development environment and as a deployment unit. I package the application as a container and run it with [Kubernetes](/expertise/kubernetes/) across several machines or with a self-hosted PaaS such as Dokploy; I define the build, test and deploy steps in a GitHub Actions or Jenkins pipeline.
Technologies I pair it with
-
Docker
Development environment and deployment unit.
-
Kubernetes
The orchestration layer where containers are run, scaled and restarted across machines.
-
Dokploy
Self-hosted PaaS; container-based deploys.
-
Linux
The server operating system applications run on.
-
nginx
The layer in front of the application.
-
GitHub Actions
The CI/CD pipeline that defines test and deploy steps in the repository.
-
Jenkins
The automation server that runs build, test and deploy steps.
Questions in this area
Frequently asked
7 questions
-
How long have you worked with Docker?
Since 2020 — 6 years.
-
What is Docker?
Docker is an open platform for developing, shipping and running applications. The application and its dependencies are packaged into an image, and a running instance of an image is called a container.
-
What is the difference between an image and a container?
An image is a read-only template with instructions for creating a container; a container is a running instance of that image. You can start as many containers as you like from the same image.
-
What is the difference between Docker and a virtual machine?
A virtual machine carries a full operating system with its own kernel. A container packages the application with its own dependencies and shares the same host kernel; Docker is the tool that creates and manages those containers.
-
What is the difference between Docker and Kubernetes?
Docker packages the application and its environment as a container; Kubernetes manages running, scaling and restarting those containers across several machines. The first is a packaging question, the second an orchestration question.
-
Where do you run Docker?
In my development environment and in deployment. In deployment, containers run on Kubernetes across several machines or on a self-hosted PaaS such as Dokploy; the operating system on the server side is Linux.
-
What have you written about Docker?
The blog has a guide covering Docker's container architecture, its basic commands, the difference between volumes and bind mounts, and network types. It also takes on the word virtualization, which confused me when I first looked at Docker.
Let us work together
If you have work in this ecosystem, tell me what you are building and we will talk about how to build it.