← 全部笔记
Docker / 基础学习

用 Compose 管理一组容器

整理日期 · 锋锋的学习小站

把启动参数写进文件,比每次拼一条很长的命令更容易维护

Compose 解决什么问题

一个服务常常需要配置镜像、端口、目录和环境变量。Compose 把这些声明集中在 compose.yaml 中。修改前先备份文件,启动时也更容易看清哪些参数正在生效。

一个最小示例

services:
  web:
    image: nginx:stable-alpine
    ports:
      - "8080:80"
    volumes:
      - ./html:/usr/share/nginx/html:ro
    restart: unless-stopped

常用操作

docker compose config
docker compose up -d
docker compose ps
docker compose logs --tail 50 web

几个容易混淆的地方

8080 是宿主机端口,80 是容器端口。示例的 html 目录需要事先准备;ro 表示容器只读。执行命令时,应在对应项目目录中或明确指定配置文件。

这次记住什么

改配置后通常需要重新执行 docker compose up -d,让 Compose 根据变化重建相关容器。docker compose restart 只重启已有容器,并不会把所有配置修改重新应用。