Some familiarity with command line and Linux is an advantage.
Docker is a platform for developers and sysadmins to maintain distributed applications. It consists of a runtime to run containers and a service for sharing containers. With docker the same app can run unchanged on laptops, dedicated servers and virtual servers.
This course teaches the basic usage of Docker, useful both for developers and system administrators. Furthermore, an introduction to Compose (for running multi-container Docker applications) and Swarm (for managing Docker clusters) are provided in the latter part of the training.
The course includes a lot of hands on exercises and the participants will practice in their own Docker environment and build their own Docker images during the 2 days.
What is Docker?
- Use cases
- Major components of Docker
- Docker architecture fundamentals
Docker architecture
- Docker images
- Docker registry
- Docker containers
The underlying technology
- Namespaces
- Control groups
- Union FS
- Container format
Installation of Docker
- Installation on Ubuntu via apt-get
- installation of newer version of Docker
Dockerizing applications
- The hello world example
- Interactive container
- Daemonizing programs
Container usage
- Running a webapp in a container
- Investigating a container
- Port mapping
- Viewing the logs
- Looking at processes
- Stopping and restarting
- Removing a container
Managing images
- Listing images
- Downloading images
- Finding images
Networking of containers
- Port mapping details
- Container linking and naming
- Linking and environment variables
Data in containers
- Data volumes
- Host directories as data volume
- Host file as data volume
- Data volume containers
- Backup, restore of data volumes
Contributing to the ecosystem
- What is Docker Hub?
- Registering on Docker Hub
- Command line login
- Uploading to Docker Hub
- Private repositories
- Automated builds
Docker Compose
- Overview of Docker Compose
- Running multi-container applications by using one command
- Defining services, networks, volumes and variables
- Setting up runtime constraints on resources
Docker Swarm
- Introduction to native Docker clustering
- Discovery services
- Docker Swarm strategies and filters