Skip to content

Commit 87b367a

Browse files
committed
Update
1 parent ce59cf5 commit 87b367a

1 file changed

Lines changed: 6 additions & 5 deletions

File tree

content/posts/cpp_proj_template.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ tags = ["cpp","docker"]
88
+++
99

1010
# Table of Contents
11+
```
1112
1. [Intro](#intro)
1213
2. [Part 1 - Docker Overview](#part-1---docker-overview)
1314
1. [Understanding Docker](#understanding-docker)
@@ -51,7 +52,7 @@ tags = ["cpp","docker"]
5152
- [Scanning the Image and Linting the Dockerfile](#scanning-the-image-and-linting-the-dockerfile)
5253
- [Profiling](#profiling)
5354
4. [Conclusion](#conclusion)
54-
55+
```
5556

5657

5758

@@ -63,7 +64,7 @@ Today I'll explore how Docker facilitates the creation of reproducible and isola
6364

6465
Docker is a platform that uses containerization to package and run applications in isolated environments called containers. These containers are lightweight and portable, containing everything needed to run the application, including code, runtime, system tools, libraries, and settings.They provide an abstraction layer between one or more processes (i.e., an application) and the OS on which they run. A container packages these processes and their underlying dependencies together so that they can be easily implemented on any OS that supports the container infrastructure. Under the hood, Docker leverages several Linux kernel features, such as cgroups (control groups) for resource isolation, namespaces for process isolation, and UnionFS (Union File System) for layering file systems.
6566

66-
**Docker vs Virtual Machine**
67+
## Docker vs Virtual Machine
6768
![Docker vs VM](https://raw.githubusercontent.com/luk6xff/luk6xff.github.io/master/content/other/media/cpp_proj_template/docker_vs_vm.png)\
6869
*Figure 1: docker vs vm - [plant_uml](//www.plantuml.com/plantuml/dpng/dP9FY_8m48Vl_HI3TtbfUdzHTvTTOVy8mbvBh8C6swGagOii_UuR8mcDiTXwgMPuydl2pCoKfb8tLPce0-CrbRI2GbIruCZrMfzA18c5fdnNOfBKj3ZG7SBacvbBj8GFMkmPHvXBywiDs4YSm6y20FwUmT-4ql2rdW1Li3V_Sw7oOnLHfnhbaIaXBw0_Mj2xNnkqQP0wqrNEOlcv_lU-N5ny6yPLNhBDsPZUmkUh5QGMfNMTkdUrFL8oMahwfCH9oJrfDbgQzKap9yr2wVdJcGrCj-A7J_zVJQ5pz4JSuA3YET_T-p4aYY7T638m9ejYCi-v3hIThNuMnG7b8ykyjJT3qkUzy1tZQFaBbwEjXCD-4bnJKvKZzzh91-nszvbjdvqyP1-mvB7TVi8M-lb4dGehdhlTXgZg-Q0FWrF9pTHmALrgcyoGRvkg_0C0)
6970

@@ -80,7 +81,7 @@ Docker is a platform that uses containerization to package and run applications
8081

8182

8283

83-
**Key Components of Docker:**
84+
## Key Components of Docker
8485

8586
1. **Docker Daemon (`dockerd`):** This is the persistent background process running on the host machine. It listens for Docker API requests and manages Docker objects such as images, containers, networks, and volumes.
8687

@@ -92,7 +93,7 @@ Docker is a platform that uses containerization to package and run applications
9293

9394

9495

95-
**Linux Mechanisms Leveraged by Docker:**
96+
## Linux Mechanisms Leveraged by Docker
9697

9798
- **cgroups (Control Groups):** Used for resource isolation, allowing Docker to limit and prioritize CPU, memory, disk I/O, and other resources for containers.
9899
- **Namespaces:** Used for process isolation, providing each container with its own namespace for processes, network interfaces, file systems, and more.
@@ -104,7 +105,7 @@ Key namespaces utilized by Docker include:
104105
- UTS Namespace: Isolates host and domain names, creating a unique identity for containers.
105106
- **UnionFS (Union File System):** Used for layering file systems, enabling Docker to create images efficiently by layering changes on top of existing file systems.
106107

107-
**Diagrams of Docker Environment on Linux:**
108+
## Diagrams of Docker Environment on Linux
108109

109110
```
110111
+---------------------+

0 commit comments

Comments
 (0)