KTH / devops-course

Repository of the DevOps course at KTH Royal Institute of Technology DD2482
191 stars 427 forks source link

Executable tutorial submission #2685

Closed CasperKristiansson closed 1 month ago

CasperKristiansson commented 1 month ago

Assignment Proposal

Title

Mastering Docker: Building, Networking, and Optimizing Containers with Multi-Stage Builds and Advanced Features

Names and KTH ID

Deadline

Category

Description

This tutorial will introduce the fundamental concepts of Docker and demonstrate how to build, run, and optimize Docker containers. The tutorial will be fully executable on the KillerKoda platform, ensuring that users can interact with and verify their actions as they follow along. The sections will cover:

  1. Building and Running a Basic Docker Container: A step-by-step guide to building and running your first Docker container.

  2. Setting up Docker Volumes for Persistent Storage: Learn how to manage data persistence by setting up Docker volumes.

  3. Configuring Container Networking: Understand how to set up communication between Docker containers through networking.

  4. Optimizing Docker Images with Multi-Stage Builds: Learn how to reduce Docker image sizes and improve performance using multi-stage builds.

  5. Using Docker Compose for Multi-Container Applications: Introduction to Docker Compose, showing how to define and manage multi-container applications with services, networks, and volumes.

  6. Handling Secrets and Environment Variables in Docker: Securely pass sensitive information using Docker secrets and environment variables.

  7. Implementing Health Checks for Containers: Monitor and automatically restart services by implementing health checks within your containers.

Relevance

Docker is a crucial tool in modern DevOps practices, enabling efficient application deployment, scalability, and automation. By learning how to build, run, and optimize containers, developers and DevOps engineers can reduce infrastructure complexity, speed up deployments, and manage applications more effectively. The tutorial covers essential topics that align with DevOps goals of continuous delivery, resource optimization, and maintaining secure, persistent services. Each section is designed to be fully executable and verifiable on the KillerKoda platform, providing a hands-on experience for learners. Additionally, multi-stage builds are essential for reducing Docker image size, improving performance, and optimizing resource use in production environments.

Tutorial Details

Tutorial Link: https://killercoda.com/docker-install/ Repo Link: https://github.com/muhammad1928/DockerMastering

CasperKristiansson commented 1 month ago

Submitted tutorial links in proposal PR https://github.com/KTH/devops-course/pull/2582 within deadline, now just created this submission PR. See the changes (date) made to both the repo and the comment

sofiabobadilla commented 3 weeks ago

Hi! @CasperKristiansson

On the chapter: "Handling Secrets and Environment Variables in Docker"

When pressing Check I get "Validation Failed" I completed all the step and got the expected output.

Any idea of why is not working?

Thanks!

sofiabobadilla commented 3 weeks ago

@CasperKristiansson @muhammad1928

CasperKristiansson commented 3 weeks ago

Hi! @CasperKristiansson

On the chapter: "Handling Secrets and Environment Variables in Docker"

When pressing Check I get "Validation Failed" I completed all the step and got the expected output.

Any idea of why is not working?

Thanks!

Hi @sofiabobadilla

It has now been fixed! Before, it looked like one of the tutorial parts had a clash, which caused the verification to fail. It has now been fixed, and the entire tutorial together has been tested and is working.

Thank you!