Docker Desktop For MacOS架構(gòu)

下述內(nèi)容基于AI生成內(nèi)容整理,僅供參考

核心組件詳解

1. 宿主操作系統(tǒng)層(macOS)

Docker CLI

用戶通過(guò)終端操作的命令行工具,通過(guò)以下方式與虛擬機(jī)通信:

Unix 套接字:/var/run/docker.sock

TCP/IP(用于遠(yuǎn)程訪問(wèn))

GUI 管理界面

提供可視化資源監(jiān)控、網(wǎng)絡(luò)配置和 Kubernetes 管理功能

2. 虛擬化層(HyperKit)

技術(shù)特性

基于 macOS 原生?Hypervisor.framework?實(shí)現(xiàn)硬件虛擬化

僅占用 100MB 左右內(nèi)存,啟動(dòng)時(shí)間 <2 秒

資源分配

默認(rèn)配置:2 CPU 核心 + 2GB 內(nèi)存(可通過(guò) Docker Desktop 調(diào)整)

磁盤(pán)空間:動(dòng)態(tài)分配的 qcow2 鏡像文件

3. Linux 虛擬機(jī)層

內(nèi)核組件

例子

ps x -e -o pid,command | grep -E "containerd|docker"

218 /usr/bin/runc run --preserve-fds=3 01-docker

? 230 /usr/libexec/docker/docker-init /usr/bin/entrypoint.sh

? 249 /usr/bin/containerd --config /etc/containerd/containerd.toml

? 301 /usr/local/bin/dockerd --config-file /run/config/docker/daemon.json --containerd /run/containerd/containerd.sock --pidfile /run/desktop/docker.pid --swarm-default-advertise-addr=192.168.65.3 --host-gateway-ip 192.168.65.254

2225 /usr/bin/containerd-shim-runc-v2 -namespace moby -id c7a9bb95f60ebc24214b55b29be5cff1a699229323a783cf3c8835914a793e28 -address /run/containerd/containerd.sock


docker-init: 處理容器內(nèi)進(jìn)程的信號(hào)和僵尸進(jìn)程。

containerd: 管理容器的生命周期。

containerd: 管理容器的生命周期。

containerd-shim: 作為?containerd?和?runc?之間的橋梁,管理單個(gè)容器。

runc: 負(fù)責(zé)運(yùn)行容器。

4. 跨環(huán)境交互機(jī)制

文件系統(tǒng)

網(wǎng)絡(luò)架構(gòu)


特殊網(wǎng)絡(luò)訪問(wèn)

容器→宿主機(jī):通過(guò)?host.docker.internal?域名

宿主機(jī)→容器:使用?localhost:<映射端口>

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容