|
1 |
| -# Overview of Docker Desktop for Mac |
2 | 1 |
|
3 |
| -- Docker Desktop is a full development platform for creating containerized apps |
4 |
| -- It runs on a LinuxKit VM and NOT on VirtualBox or VMware Fusion. |
5 |
| -- It embeds a hypervisor called xhyve(a lightweight OS X virtualization solution) - a Linux distribution which runs on LinuxKit and filesystem & network sharing that is much more Mac native. |
6 |
| -- It is a Mac native application, that you install in `/Applications`. |
7 |
| -- At installation time, it creates symlinks in /usr/local/bin for docker & docker-compose and others, to the commands in the application bundle, in /Applications/Docker.app/Contents/Resources/bin |
8 | 2 |
|
| 3 | +<img width="1053" alt="image" src="https://user-images.githubusercontent.com/313480/212112707-aff57b4c-8cb5-4243-b9ba-90ea9a1c5004.png"> |
9 | 4 |
|
10 |
| -``` |
11 |
| - pwd |
12 |
| -/Applications/Docker.app/Contents/Resources/bin |
13 |
| - bin % tree -L 1 |
14 |
| -. |
15 |
| -├── com.docker.cli |
16 |
| -├── com.docker.vpnkit |
17 |
| -├── docker |
18 |
| -├── docker-compose |
19 |
| -├── docker-compose-v1 |
20 |
| -├── docker-credential-desktop |
21 |
| -├── docker-credential-ecr-login |
22 |
| -├── docker-credential-osxkeychain |
23 |
| -├── docker-index |
24 |
| -├── hub-tool |
25 |
| -└── kubectl |
26 | 5 |
|
27 |
| -1 directory, 10 files |
28 |
| -osxkeychain kubectl |
29 |
| -docker docker-credential-desktop docker-index |
30 |
| -``` |
31 | 6 |
|
32 | 7 |
|
33 | 8 |
|
34 | 9 |
|
35 |
| -## What does it use? |
| 10 | +<img width="1004" alt="image" src="https://user-images.githubusercontent.com/313480/212114070-f87bd920-db9d-4174-b045-49368f5bb0bd.png"> |
36 | 11 |
|
37 | 12 |
|
38 |
| -- Docker Desktop for Mac uses the Docker Engine to run containers. |
39 |
| -- The Docker Engine is a powerful, open-source container runtime that builds and runs containers using the Docker image format and containerd runtime. |
| 13 | +<img width="1052" alt="image" src="https://user-images.githubusercontent.com/313480/212114444-61cbc034-a161-41df-97b7-44d8dd211e1d.png"> |
40 | 14 |
|
41 | 15 |
|
42 |
| -# What is Containerd? |
43 | 16 |
|
44 |
| -Containerd is an industry-standard container runtime that is responsible for executing and managing containers. It provides a stable, high-level API for interacting with containers and is designed to be used by a variety of container tools, such as Docker. |
45 |
| - |
46 |
| -Internally, containerd works by using a set of long-running processes called "daemons" to manage containers. These daemons are responsible for tasks such as pulling images from a registry, starting and stopping containers, and managing container networks. |
47 |
| - |
48 |
| -When you run a Docker container on Docker Desktop for Mac, the Docker Engine sends a request to containerd to create and run the container. Containerd then pulls the necessary image from a registry, creates the container, and starts it. It also manages the container's runtime environment, including its networking, storage, and resource limits. |
49 | 17 |
|
0 commit comments