This tutorial covers Docker, a tool which provides a high-level interface for managing Linux containers in a convenient way. We will walk through its basic and advanced features, but also take our time to demystify the underlying technologies which make containers possible in the first place.
This guide aims at undergraduate or graduate CS students which have little or no knowledge of Docker and/or container technology in general.
-
Level: Beginner
- About Docker and container technology
- Installing Docker
- "Hello Docker"
- Basic container administration
- Excursion: About Images and containers (tbd)
- Container volumes (tbd)
- Interacting with a Docker Registry (tbd)
- Setting up your private Registry server (tbd)
-
Level: Intermediate
- How to build your own Docker images (tbd)
- Dockerfile best practices (tbd)
- Multi-container apps with Docker Compose (tbd)
- Docker Machine (tbd)
- Docker Swarm Mode (tbd)
- Excursion: The Raft consensus protocol (tbd)
- Networking in Docker (tbd)
-
Level: Advanced
- Multi-stage Docker image builds (tbd)
- Image signing and Notary (tbd)
- Docker secrets management (tbd)
- Further security aspects (tbd)
- Excursion: Docker storage drivers (tbd)
- Excursion: Plumbing in Docker (tbd)
- runC and containerd (tbd)
You went through the tutorial and encountered a mistake, bug or any question you did not find an answer to? Feel free to open an issue or submit your improvements as a PR. Contributions are always welcome.
- A.Mouat. Using Docker: Developing and Deploying software with Containers. O'Reilly Media, Dec. 2015
- Docker, Inc. Docker Documentation. 2017. URL: https://docs.docker.com/