Skip to content

Commit

Permalink
Executable tutorial proposal (#2582)
Browse files Browse the repository at this point in the history
* add README tutorial execution

* Add another student to project

* Add extra features to the tutorial
  • Loading branch information
CasperKristiansson authored Oct 9, 2024
1 parent bce58d5 commit d46a0da
Showing 1 changed file with 40 additions and 0 deletions.
40 changes: 40 additions & 0 deletions contributions/executable-tutorial/casperkr-mnem/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Assignment Proposal

## Title

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

## Names and KTH ID

- Casper Kristiansson (casperk@kth.se)
- Muhammadsodiq Nematjanov (mnem@kth.se)

## Deadline

- Task 3

## Category

- Executable tutorial

## 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. Automating Docker builds locally simulates a CI/CD pipeline without external dependencies, making the process easy to verify. Additionally, multi-stage builds are essential for reducing Docker image size, improving performance, and optimizing resource use in production environments.

0 comments on commit d46a0da

Please sign in to comment.