华为云 ECS 上用 Docker 跑一个可观测的静态站点

举报
yd_281239125 发表于 2026/10/29 20:16:46 2026/10/29
【摘要】 很多团队在试用云主机时,只做到了「把服务跑起来」,缺少可观测与可回滚的最小闭环: 容器重启后配置漂移、日志散落在宿主机、发布回滚依赖手工操作。本文用一台华为云 ECS 搭一个尽量小但完整的示例:Doc

背景

很多团队在试用云主机时,只做到了「把服务跑起来」,缺少可观测与可回滚的最小闭环:
容器重启后配置漂移、日志散落在宿主机、发布回滚依赖手工操作。本文用一台华为云 ECS
搭一个尽量小但完整的示例:Docker Compose 编排、Nginx 静态站点、健康检查与日志轮转。

环境准备

  1. 购买一台 2 vCPU / 4 GiB 的 ECS,系统选择 Ubuntu 22.04。
  2. 安全组只放行 22 与 80,管理端口不对公网开放。
  3. 安装 Docker 与 Compose 插件,并确认 docker info 正常。

编排文件

services:
  web:
    image: nginx:1.27-alpine
    restart: unless-stopped
    ports:
      - "80:80"
    volumes:
      - ./site:/usr/share/nginx/html:ro
      - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
    healthcheck:
      test: ["CMD", "wget", "-qO-", "http://127.0.0.1/healthz"]
      interval: 30s
      timeout: 3s
      retries: 3

restart: unless-stopped 保证宿主机重启后自动拉起;healthcheck 让故障可见,
而不是等用户报错才发现。

日志与回滚

  • 在 daemon.json 里配置 log-opts,把单文件日志限制在 50 MiB、最多保留 3 个。
  • 发布时把站点目录打成带时间戳的软链接,回滚只需切换软链接并 nginx -s reload。
  • 每次发布前后各记录一次 curl -s -o /dev/null -w '%{http_code}',形成可对比的证据。

小结

这套结构并不复杂,但把「能跑」提升到了「可观测、可回滚、可复现」。对试用云主机的团队来说,
先用最小闭环把运维习惯建立起来,比堆更多组件更有价值。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。