为什么从 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。真正上线前,应同时检查主机防火墙和实际监听地址。
以上内容用于经验交流。实际操作前,请核对设备型号、软件版本与官方说明,并备份重要配置。