下述內(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:<映射端口>