跳到主要内容
BLKBLKTECH

指南 / build

Docker 入门:个人开发者真正用得上的最小集合

不堆概念,只讲镜像、容器、Volume、Compose 与本地/服务器上的常见用法,帮你安全地跑起服务。

作者 BLKTECH 编辑部更新 2026年7月18日14 分钟难度 进阶免费Docker

对个人开发者,Docker 的价值是「环境可重复」与「依赖打包」。先会 run、volume、端口映射和 compose 起一个数据库/小服务,再考虑自建镜像;生产上注意数据卷、重启策略与不要以 root 乱挂载宿主机。

你为什么需要它

没有 Docker 时常见痛点:

  • 我电脑能跑,服务器不能跑
  • 换机器要重装一堆依赖
  • 数据库版本和同事不一致

Docker 用 镜像(只读模板)+ 容器(运行实例) 把环境固化。

五个必懂概念

概念 类比
Image 安装包/快照
Container 正在跑的实例
Volume 持久化硬盘抽屉
Port mapping 把容器端口接到宿主机
Compose 多容器编排说明书

最小命令集

# 拉镜像并运行(示例:Nginx)
docker run --name web -d -p 8080:80 nginx:alpine

# 看日志 / 进容器 / 停掉
docker logs -f web
docker exec -it web sh
docker stop web && docker rm web

数据库务必挂卷,否则删容器数据没了:

docker run --name pg -d \
  -e POSTGRES_PASSWORD=change_me \
  -p 5432:5432 \
  -v pgdata:/var/lib/postgresql/data \
  postgres:16

Compose 为什么值得学

docker-compose.yml 把「一串 run 参数」变成可版本管理的文件:

services:
  db:
    image: postgres:16
    restart: unless-stopped
    environment:
      POSTGRES_PASSWORD: change_me
    volumes:
      - pgdata:/var/lib/postgresql/data
    ports:
      - "5432:5432"
volumes:
  pgdata:
docker compose up -d
docker compose logs -f
docker compose down

个人场景推荐

场景 建议
本地起 Postgres/Redis Compose + Volume
跑开源工具(n8n 等) 官方镜像 + 环境变量
静态站 多数情况 不必 Docker,直接 Nginx/托管
自研 API 先本地跑通,再写 Dockerfile

安全与踩坑

  1. 不要把密钥写进镜像,用环境变量或密钥文件
  2. 生产密码不要用示例值
  3. 端口不要无脑对公网全开,配防火墙
  4. 数据在 volume 里,备份 volume 或逻辑备份
  5. 镜像标签尽量固定版本,避免 latest 默默变了

要不要把 Astro 站点也 Docker 化?

静态内容站:通常 构建产物 + Nginx 更简单。
Docker 更适合:带状态的服务、多依赖 runtime、需要隔离的工具链。

下一步

NEXT ACTION / 下一步

结合备份策略

把读到的方法变成一个小行动,完成后再回来迭代。

继续

RELATED / 相关推荐

接着读这些

按同一栏目、标签与技术栈为你挑选。