Docker Desktop 实战指南

安装与配置

Docker Desktop 支持 Windows 和 macOS,需确保系统满足最低要求。Windows 用户需启用 WSL 2 或 Hyper-V,macOS 需为 10.15 及以上版本。

下载安装包后,按照向导完成安装。首次启动时,需同意服务条款并配置资源分配(如 CPU、内存)。建议根据宿主机的性能调整资源限制,避免资源不足导致容器运行缓慢。

基础操作与常用命令

通过 Docker CLI 可快速管理容器和镜像。常用命令包括:

  • docker pull <image> 拉取镜像
  • docker run -d -p <host_port>:<container_port> <image> 启动容器
  • docker ps -a 查看容器状态
  • docker exec -it <container_id> /bin/bash 进入容器终端

Docker Desktop 提供图形界面(GUI),可通过面板直接管理容器、镜像和卷,适合不熟悉命令行的用户。

常见问题与解决方案

问题1:启动失败或卡顿 检查系统是否启用虚拟化(BIOS/任务管理器)。Windows 用户需确保 WSL 2 内核已更新,macOS 需允许 Docker 在隐私设置中访问文件系统。

问题2:端口冲突 使用 netstat -ano(Windows)或 lsof -i :<port>(macOS)查看占用端口的进程,修改容器映射端口或停止冲突进程。

问题3:磁盘空间不足 定期清理未使用的镜像和容器:

  • docker system prune -a 删除所有未使用的对象
  • 在 GUI 的 "Troubleshoot" 中选择 "Clean / Purge data"
高级功能与优化

多阶段构建 通过多阶段 Dockerfile 减少镜像体积:

FROM alpine AS builder
RUN apk add build-base && compile_code

FROM alpine
COPY --from=builder /app/output /app

使用 Docker Compose 编排多容器应用:

services:
  web:
    image: nginx
    ports: ["80:80"]
  db:
    image: postgres
    environment:
      POSTGRES_PASSWORD: example
性能调优
  • Settings > Resources 中增加 CPU 和内存配额
  • 对 I/O 密集型应用,将数据卷挂载到宿主机的 SSD 路径
  • 启用 Docker 的 --cpuset-cpus 参数限制容器使用的 CPU 核
网络配置技巧
  • 自定义网络隔离容器:docker network create my_network
  • 解决 DNS 解析问题:在 daemon.json 中配置 "dns": ["8.8.8.8"]
日志与监控
  • 使用 docker logs <container_id> 查看实时日志
  • 通过 docker stats 监控资源占用
  • 集成 Prometheus 和 Grafana 实现可视化监控
安全实践
  • 避免以 root 用户运行容器:USER nobody 指令
  • 定期扫描镜像漏洞:docker scan <image>
  • 限制容器权限:docker run --read-only --security-opt=no-new-privileges

更多推荐