|
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