Docker: Deep Dive/How To

Yeldos Balgabekov
1 min readMay 31, 2020

--

Management of environments is a super important process in the life of developers. Docker is arguably the most popular actionable way to do this elegantly.

I decided to write a series of articles on that topic. I plan to write a little about how the Docker Engine works, about how to work with networks and storage. How to manage a cluster through Swarms and a little about Security.

Containers

The main benefit of using containers in app development is environment isolation from that of host OS. This makes it more portable between hosts with differente states of the OS. The OS environment can have the minimal configs set, while the container will build everything up on top of it.

Perhaps, the main advantages of a container over a vritualized OS is the speed. Container does not emulate a hardware layer and it makes container based environments reach near bare-metal speeds

note: Containers are not almighty. We still may need to use virtualisation for some other purposes.

In simple:

  • Containers are used to isloate environments for Apps
  • Virtual Machines are used to virtalize systems. Imagine AWS EC2 instances — the emulated systems on real physical hosts.

Below is the list of articles I’ve written so far. More articles to come soon

Content

  1. Docker: Installing Docker on Linux
  2. Docker: Architecture
  3. Docker: Image, Container, Swarm and Service
  4. Docker Engine Architecture Under the Hood
  5. Docker: Private/Public networks example

--

--