Docker Compose 实战:华为云 ECS 一键管理 Web 服务,告别冗长 run 命令

举报
yd_219516581 发表于 2026/10/27 16:05:52 2026/10/27
【摘要】 之前一直用 docker run 敲一长串命令部署服务,每次删容器、重新部署都要反复复制参数,很容易写错端口、挂载目录。接触 Docker Compose 之后,把配置写到 yml 文件里,一条命令就能启停项目,方便很多,给大家分享在华为云 ECS 上的实操经验。一、环境说明服务器:华为云 ECS CentOS7/8 已提前装好 Docker + Docker Compose 适合:Web ...

之前一直用 docker run 敲一长串命令部署服务,每次删容器、重新部署都要反复复制参数,很容易写错端口、挂载目录。接触 Docker Compose 之后,把配置写到 yml 文件里,一条命令就能启停项目,方便很多,给大家分享在华为云 ECS 上的实操经验。

一、环境说明

服务器:华为云 ECS CentOS7/8 已提前装好 Docker + Docker Compose 适合:Web 面板、静态服务、小型业务容器批量管理

二、docker-compose.yml 示例(以静态网页服务举例)

新建项目文件夹,比如 /opt/web-demo,进入目录创建 docker-compose.yml

version: "3.8"
services:
  web:
    image: nginx:alpine
    container_name: demo-web
    restart: always
    ports:
      - "8080:80"
    volumes:
      - ./html:/usr/share/nginx/html
  • restart: always 容器意外退出自动重启
  • volumes 本地目录和容器目录挂载,改文件不用重建镜像
  • ports 宿主机端口:容器内部端口

三、常用核心命令

# 启动服务(后台运行)
docker compose up -d

# 查看运行日志
docker compose logs -f

# 停止服务,保留容器
docker compose stop

# 停止并删除容器(镜像、挂载数据不会删掉)
docker compose down

# 修改yml配置后,重新加载生效
docker compose up -d

四、华为云 ECS 必做配置

  1. 安全组入方向放行上面用到的端口,本例是 8080
  2. 系统防火墙放行端口,或者调试时临时关闭
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload
  1. 镜像拉取慢问题:配置国内 Docker 镜像加速器,避免连接重置、超时重试

五、踩坑记录

  1. yml 文件缩进非常严格,必须用空格,不能用 Tab,缩进错直接启动失败
  2. 端口被占用:先看宿主机端口有没有别的程序在用,换端口或者停掉原有服务
  3. 挂载目录权限异常,页面 403:给本地目录授权 chmod -R 755 ./html
  4. 不要频繁用 docker run 和 compose 混用管理同一个容器,容易命名冲突

六、总结

Docker Compose 最大优势是配置可留存、可复用。以后换服务器迁移项目,只需要把 yml 文件和挂载的资源文件夹拷贝过去,一条 docker compose up -d 就能恢复服务,非常适合在华为云 ECS 上做多个轻量服务的长期维护。

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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