Docker Desktop 实战指南

安装与配置

下载 Docker Desktop 适用于 Windows 或 macOS 的最新版本。安装完成后,确保启用 Hyper-V(Windows)或 macOS 的虚拟化支持。启动 Docker Desktop,等待状态栏图标显示运行中。

修改 Docker 资源配置,如 CPU、内存和磁盘空间。建议分配至少 4GB 内存和 2 核 CPU 以支持中等规模容器运行。配置镜像加速器,国内用户可使用阿里云或腾讯云的镜像源提升拉取速度。

常用命令与操作

运行一个 Nginx 容器测试安装是否成功:

docker run -d -p 8080:80 --name nginx-test nginx

访问 http://localhost:8080 应看到 Nginx 欢迎页面。

构建自定义镜像时,创建 Dockerfile 文件:

FROM alpine:latest
RUN apk add --no-cache curl
CMD ["curl", "https://example.com"]

构建并运行:

docker build -t my-curl .
docker run --rm my-curl
数据持久化与网络

挂载主机目录到容器实现数据持久化:

docker run -v /host/path:/container/path nginx

创建自定义网络实现容器间通信:

docker network create my-network
docker run --network=my-network --name service1 nginx
docker run --network=my-network --name service2 curl service1

常见问题与解决方案

启动失败排查

Windows 系统若出现 WSL 2 installation is incomplete 错误,需手动安装 WSL 2 内核更新包。macOS 遇到 Cannot connect to the Docker daemon 时,重置 Docker Desktop 或检查虚拟机框架是否启用。

资源占用过高

限制容器内存使用避免系统卡顿:

docker run -m 512m --memory-swap=1g nginx

定期清理无用资源释放空间:

docker system prune -af
镜像拉取问题

配置国内镜像源后仍出现超时,尝试直接指定镜像仓库:

docker pull registry.cn-hangzhou.aliyuncs.com/library/nginx
端口冲突处理

检查主机端口占用情况并修改映射:

netstat -ano | findstr 8080  # Windows
lsof -i :8080                # macOS/Linux
docker run -p 8081:80 nginx
跨平台兼容性注意事项

Windows 路径在挂载时需转换为 Linux 格式:

docker run -v /c/Users/path:/data alpine

高级技巧

多阶段构建优化镜像

减少最终镜像大小:

FROM golang:1.18 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp .

FROM alpine:latest
COPY --from=builder /app/myapp .
CMD ["./myapp"]
调试运行中的容器

进入容器内部进行诊断:

docker exec -it nginx-test /bin/sh

查看容器日志:

docker logs -f nginx-test
安全最佳实践

避免使用 root 用户运行容器:

FROM alpine
RUN adduser -D appuser
USER appuser
CMD ["myapp"]

定期扫描镜像漏洞:

docker scan nginx:latest

性能监控与优化

使用 docker stats 实时查看资源占用:

docker stats --format "table {{.Container}}\t{{.CPUPerc}}\t{{.MemUsage}}"

启用内置资源监控面板(Docker Dashboard)观察历史趋势。对于生产环境,建议集成 Prometheus 和 Grafana 实现全面监控。

更多推荐