Skip to content

资源汇总

官方资源

资源地址
Docker 官方文档https://docs.docker.com
Docker Hubhttps://hub.docker.com
Docker GitHubhttps://github.com/docker
Docker Bloghttps://www.docker.com/blog
Docker Playgroundhttps://labs.play-with-docker.com

工具推荐

开发工具

工具说明地址
Docker DesktopWindows/macOS 桌面客户端docker.com/products/docker-desktop
OrbStackmacOS 轻量替代方案orbstack.dev
PortainerWeb 管理界面portainer.io
Lazydocker终端 TUI 管理界面github.com/jesseduffield/lazydocker
dive镜像层分析github.com/wagoodman/dive

镜像安全

工具说明
Trivy开源漏洞扫描,支持镜像/代码/IaC
Docker ScoutDocker 官方内置扫描
Snyk商业漏洞扫描,有免费额度
ClairCoreOS 开源漏洞分析

监控工具

工具说明
cAdvisor容器资源监控采集
Prometheus时序指标存储
Grafana可视化面板
Loki日志聚合
PortainerWeb 管理 + 基础监控

学习资源

在线课程

书籍推荐

  • 《Docker 深入浅出》— Nigel Poulton 著,入门友好
  • 《第一本 Docker 书》— James Turnbull 著
  • 《Docker — 容器与容器云》— 浙大SEL实验室
  • 《Kubernetes in Action》— 进阶容器编排

中文社区

镜像资源

国内镜像站

镜像站加速地址
DaoCloudhttps://docker.m.daocloud.io
网易云https://hub-mirror.c.163.com
阿里云https://xxxx.mirror.aliyuncs.com(需登录获取)
腾讯云https://mirror.ccs.tencentyun.com(内网免费)

推荐官方镜像

bash
# Web 服务
nginx:alpine          # Nginx
httpd:alpine          # Apache
traefik:latest        # 反向代理/负载均衡

# 数据库
mysql:8.0
postgres:16-alpine
mariadb:11
mongo:7.0
redis:7-alpine
elasticsearch:8.x

# 运行时
node:20-alpine
python:3.12-slim
golang:1.21-alpine
php:8.3-fpm-alpine
openjdk:17-alpine

# 工具
alpine:3.19           # 最小 Linux
busybox               # 工具集
ubuntu:22.04
debian:bookworm-slim

Dockerfile 模板

通用 Dockerfile 模板

dockerfile
# 替换为适合你语言的基础镜像
FROM node:20-alpine AS production

LABEL org.opencontainers.image.title="My App" \
      org.opencontainers.image.version="1.0.0"

ENV NODE_ENV=production

# 创建非 root 用户
RUN addgroup -S appgroup && adduser -S appuser -G appgroup

WORKDIR /app

# 安装依赖(先复制,利用缓存)
COPY package*.json ./
RUN npm ci --only=production && npm cache clean --force

# 复制应用代码
COPY --chown=appuser:appgroup . .

USER appuser

EXPOSE 3000

HEALTHCHECK --interval=30s --timeout=10s --retries=3 \
  CMD wget -qO- http://localhost:3000/health || exit 1

CMD ["node", "app.js"]

通用 .dockerignore

.git/
.gitignore
node_modules/
dist/
build/
coverage/
.env
.env.*
*.log
logs/
README.md
docs/
tests/
.vscode/
.idea/
*.swp
.DS_Store
__pycache__/
*.pyc
.pytest_cache/
.venv/
vendor/

通用 docker-compose.yml 模板

yaml
services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    restart: unless-stopped
    ports:
      - "3000:3000"
    environment:
      NODE_ENV: production
    env_file:
      - .env
    volumes:
      - app-data:/app/data
    networks:
      - app-net
    healthcheck:
      test: ["CMD", "wget", "-qO-", "http://localhost:3000/health"]
      interval: 30s
      timeout: 10s
      retries: 3
    logging:
      driver: json-file
      options:
        max-size: "10m"
        max-file: "3"

volumes:
  app-data:

networks:
  app-net:
    driver: bridge

版本发布跟踪