Docker 主要通过容器化技术实现轻量级虚拟化,其核心是共享宿主机内核但隔离进程和资源。以下是 Docker 可以虚拟化的主要资源类型及其实现方式:
--cpus 限制容器使用的 CPU 核数(如 --cpus=1.5)。--cpuset-cpus)。-m 或 --memory 限制内存用量(如 -m 512m)。--memory-reservation)和 OOM 优先级。-v 或 --mount 挂载宿主机目录或 Docker 管理卷。tmpfs 挂载(内存文件系统):--tmpfs /app/cache。bridge(默认)、host(共享宿主机网络)、overlay(跨主机通信)、macvlan(直接分配 MAC 地址)。-p 将容器端口映射到宿主机(如 -p 8080:80)。--gpus 参数调用 NVIDIA GPU(需安装 nvidia-container-toolkit)。--device 挂载宿主机设备(如 --device /dev/ttyUSB0)。--user 指定容器内用户(如 --user 1000),隔离 root 权限。--cap-add NET_ADMIN 或 --cap-drop KILL)。-e 传递隔离的环境变量(如 -e DB_HOST=db)。/etc/localtime)或修改系统时间(需 --cap-add SYS_TIME)。如果需要更强的隔离性或不同内核,可考虑 Docker + VM 的组合方案(如 Docker Desktop 基于 Hyper-V 运行 Linux 容器)。