1
From virtualization to Docker
- Different types of vritualization.
- Containerization: LXC, namespaces, control-groups.
- Where Docker is used.
- Docker vs. virtualization.
2
Overview of Docker
- Docker’s architecture.
- Docker’s availability for different platforms (Windows, Mac and Linux) and how to install it on them.
- Creating a virtual machine for modeling.
- The command line and the environment.
Hands-on work
Creating a virtual machine to create a model.
3
Command-line implementation
- Setting up your first container.
- The Docker Hub: Centralized resources.
- Pooling storage across containers.
- Pooling TCP ports across containers.
- Publishing network ports.
- Interactive mode.
Hands-on work
Configuring a container with the command line.
4
Creating a custom container
- Producing the image of a container state.
- What is a Dockerfile?
- Automating the creation of an image.
- Implementing a container.
- Container hosting multiple services: Supervisor.
Hands-on work
Creating a custom container.
5
Implementing a multicontainer application
- Using Docker Compose.
- Creating a YAML configuration file.
- Deploying multiple containers at once.
- Linking all of the application's containers.
Hands-on work
Implementing a multicontainer application.
6
Administration interfaces
- The Docker API and Web Services.
- Administration interface in Web mode.
- Hosting your own registry: Docker Registry, Gitlab-CE, etc.
Hands-on work
Building and using your own registry.
7
Administering containers in production
- Automatically starting containers on boot.
- Managing resources assigned to containers.
- Container log management.
- Backups: What tools and what strategy?
Hands-on work
Administer containers.
8
Orchestration and clusterization
- Overview of Docker Machine.
- The orchestrator Swarm: nodes, services, secrets, configs.
- Deploying services and stacks in a Swarm.
- Reverse-proxy and load-balancer for Web Services in a cluster (Traefik, etc.).
Hands-on work
Creating a Swarm cluster. Managing nodes in the cluster. Publishing and scaling a service in the cluster.