Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Executable tutorial proposal #2582

Merged
merged 3 commits into from
Oct 9, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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.
Loading