Docker 实践 · 约 4 分钟阅读

用 Docker Compose 管理第一组家庭服务

从目录、镜像版本到数据目录,把容器服务整理成能重建的项目。

Docker 实践主题插画

为什么从 Compose 开始

单个容器可以用 docker run 启动,但参数一多,就很难记住端口、环境变量和挂载目录。Compose 把这些信息放在一个文件里,下次迁移机器时,带走配置和数据即可重新创建服务。它不要求复杂的容器编排知识,尤其适合家庭服务器上的少量长期服务。

建立清晰的目录

建议一个项目一个目录,分离配置与业务数据。比如 /srv/apps/notes/compose.yaml 保存部署声明,/srv/apps/notes/data/ 保存持久化文件。不要把数据库和上传文件仅放在容器可写层中,否则删除容器后可能丢失。

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

这是一个用于学习的静态网页示例。把文件放在 site/ 目录后,在项目目录运行 docker compose up -d,即可通过主机的 8088 端口访问。实际部署时,镜像版本应该按已验证的稳定版本调整。

验证与维护

启动前先运行 docker compose config 检查配置,启动后用 docker compose ps 看状态,出现错误时使用 docker compose logs --tail=100 web 定位。把命令、端口、数据路径写进 README,比记在脑海里更可靠。

一个容易忽略的细节

端口映射 8088:80 默认可能监听主机的所有地址;如果服务只允许本机访问,可以写成 127.0.0.1:8088:80。真正上线前,应同时检查主机防火墙和实际监听地址。

以上内容用于经验交流。实际操作前,请核对设备型号、软件版本与官方说明,并备份重要配置。

← 返回Docker 实践专题