华为云 ECS 上用 Docker 跑一个可观测的静态站点
【摘要】 很多团队在试用云主机时,只做到了「把服务跑起来」,缺少可观测与可回滚的最小闭环: 容器重启后配置漂移、日志散落在宿主机、发布回滚依赖手工操作。本文用一台华为云 ECS 搭一个尽量小但完整的示例:Doc
背景
很多团队在试用云主机时,只做到了「把服务跑起来」,缺少可观测与可回滚的最小闭环:
容器重启后配置漂移、日志散落在宿主机、发布回滚依赖手工操作。本文用一台华为云 ECS
搭一个尽量小但完整的示例:Docker Compose 编排、Nginx 静态站点、健康检查与日志轮转。
环境准备
- 购买一台 2 vCPU / 4 GiB 的 ECS,系统选择 Ubuntu 22.04。
- 安全组只放行 22 与 80,管理端口不对公网开放。
- 安装 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)