Build Your Own Docker: Introduction [0/2]
This is the introductory article in a series where we’ll build a toy Docker clone in Go.
Next article: Executing a process
Sections in this article:
Introduction
Docker is probably the most popular way to package and run applications in existence today. If you’ve used Docker, it’s likely that a lot of its inner workings are a mystery to you.
➜ docker run alpine echo "hello world!"
hello world!
^ What exactly happens when you run this? That’s the question this series will help you answer. We’ll walk through how Docker works, by attempting to build a small Docker clone ourselves.
What we’ll build
In this course, we’ll build a toy Docker clone that’s capable of pulling an image from docker.io and executing a command in it.
Along the way we’ll learn about:
- How Docker executes a program and keeps it isolated from the host system.
- What a Docker image contains, and how it is stored
- How Dockerfile caching works
- How Docker images are transmitted over the network, i.e. what happens when you
execute
docker pull
Ready for the first lesson?