用 Docker Compose 部署一个小应用

用一个仅监听本机的 Nginx 示例练习 Compose。检查配置、启动服务,并弄清数据卷与容器的区别。

更新于 2026-10-07

这篇从一个最小 Web 服务开始,练习怎样用 Compose 部署。Linux VPS 需要先安装 Docker Engine 和 Compose 插件,操作账号也需要 Docker 权限。这类权限很高,应限制能使用它的账号。

写一个最小配置

建立独立目录,在其中创建 compose.yaml:

services:
  web:
    image: nginx:stable-alpine
    ports:
      - "127.0.0.1:8080:80"
    restart: unless-stopped

这个示例只把容器的 Web 服务绑定在服务器本机。nginx:stable-alpine 会随发布变化,正式项目应选择已验证的不可变版本或镜像摘要。

检查并启动

docker compose config
docker compose up -d
docker compose ps
docker compose logs --tail=100

先检查解析后的配置,再启动并查看状态和日志。在服务器本机请求 8080 端口可以验证 Web 服务。外部无法直接访问这个本机端口,需要配置反向代理,再接入域名和 HTTPS。

数据必须脱离容器生命周期

这个示例没有保存业务数据。实际部署数据库或上传服务时,要配置持久卷或绑定目录,明确备份位置与权限。容器可重建不代表数据可恢复。

密钥和密码不要提交到公开仓库。更新应用前保存配置和备份,拉取已验证的新镜像,检查健康状态,并保留上一版本。不要为了重新部署删除不知道用途的数据卷。

停止和删除的区别

停止服务、删除容器和删除数据卷是不同操作。执行带删除卷的命令前,确认卷里的数据有可恢复备份。继续看备份与恢复,并在隔离环境练习一次。

第一次部署需要多大配置

先验证服务能读写数据、重建后数据仍在、代理入口可用。尚未购买服务器时,按要运行的 Docker 服务比较配置;已经部署的项目则观察一次更新与备份时的用量,再决定增配,不按容器数量直接估价。

第一次运行少量私人容器,可从 2 核、2 GB 内存的 Linux 实例比较;面板、数据库和多个应用共用一台时,也看看 4 GB 及以上套餐。可先到 选择雨云 RCS 的系统与配置,或比较 Evoxt 的 VPS 套餐。先用实际服务检查内存与更新峰值,再延长账期,磁盘还要留下镜像和恢复副本空间。

部署成功后,继续检查入口与运行状态

服务变多时,可以用Homepage 整理私人应用入口,再用WUD 提醒镜像更新;收到更新提示后,仍先保存数据并验证新版本。

应用能打开而容器显示异常,按unhealthy 状态排查核对健康检查。数据库启动后无法登录时,分别看MySQL 旧数据卷与密码和Redis 认证与权限,不要为了恢复连接直接删除持久化数据。