-
Notifications
You must be signed in to change notification settings - Fork 428
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Executable tutorial proposal (#2582)
* add README tutorial execution * Add another student to project * Add extra features to the tutorial
- Loading branch information
1 parent
bce58d5
commit d46a0da
Showing
1 changed file
with
40 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |