• Getting acquainted with Docker
    • In the first week, we will talk about the history of virtualization, in particular about Docker’s predecessors, which have been existing for over a decade. Moreover, we'll dive into the internals of Docker and examine how cgroups and namespaces work. Having completed the theoretical part, we’ll get into practice, take a look at the main components of the Docker ecosystem and directly install it. Upon completion you will learn how to use basic docker commands such as downloading an image, starting a container, attaching external volumes, port forwarding etc.
  • Docker inside and out
    • The second week will be devoted to a detailed analysis of the Docker daemon back-ends. You will get to know the Docker development history and see its relationship with other virtualization components - lxc, rkt, runc along with many others. Afterwards, we will start exploring the docker api and break down the main configuration options of the docker daemon. In addition, we will learn how to set up a remote docker connection using TLS certificates. In the second part of the module, we will examine Docker networking: we will deal with virtual interfaces, bridges, external drivers, and also configure full-fledged ipv6 addresses for our containers. What’s more, you will learn how to connect containers to multiple networks, select the necessary drivers for running, and find the necessary containers by DNS names.
  • Logging in Docker
    • In the third module, we will examine the Docker logging fundamentals. We will cover possible drivers for sending logs, learn how to set various parameters for them - such as maximum size, number of files etc. You can choose either the synchronous or the asynchronous mode for sending logs and you will gain knowledge about what’s best to implement. At the very end, you will learn how to tag the necessary logs for their future filtering and displaying.
  • Docker images and volumes
    • In week four, we'll take a closer look at the Docker data storage. We’ll start by examining its structure. Let's understand why special file systems and copy on write are used, and also examine the main drivers that can be implemented. In the second half of the module, we will talk about storing persistent data: we will learn how to create named volumes, connect them, use a special tmpfs file system, and also specify various specific options such as the read-only mode. Eventually, you will complete a final assignment that will allow to summarize your knowledge gained from working with Docker in a production environment.