Docker Compose 快速部署 Web 项目实战笔记

举报
yd_270063821 发表于 2026/10/23 16:35:57 2026/10/23
【摘要】 现在很多小项目都用 Docker Compose 来编排服务,相比单独 docker run 命令,它更方便管理配置、挂载目录、启停项目,不用记一长串参数。这次在华为云 ECS 上面实操部署,记录完整流程和踩坑点,给新手参考。一、环境准备服务器:华为云 ECS CentOS 系统 需要提前装好 docker 和 docker composeyum install docker -ysyste...

现在很多小项目都用 Docker Compose 来编排服务,相比单独 docker run 命令,它更方便管理配置、挂载目录、启停项目,不用记一长串参数。这次在华为云 ECS 上面实操部署,记录完整流程和踩坑点,给新手参考。

一、环境准备

服务器:华为云 ECS CentOS 系统 需要提前装好 docker 和 docker compose

yum install docker -y
systemctl start docker
systemctl enable docker

二、编写 docker-compose.yml

在项目目录新建 docker-compose.yml,示例:

version: '3'
services:
  web:
    image: nginx:alpine
    ports:
      - "8080:80"
    volumes:
      - ./html:/usr/share/nginx/html
    restart: always
  • ports:宿主机端口:容器内端口
  • volumes:挂载本地静态页面目录到容器,改代码不用重新打包镜像
  • restart: always 开机自动重启服务

三、启动和管理命令

启动项目(在 yml 文件同级目录执行)

docker compose up -d

查看日志,排查启动报错

docker compose logs -f

停止项目

docker compose down

重启项目

docker compose restart

四、必做:安全组放行端口

华为云 ECS 控制台找到实例安全组,添加入方向规则,放行 8080 端口。

很多新手启动容器成功,但是外网打不开,基本都是安全组没开放端口。

五、常见问题整理

  1. 端口占用报错 报错提示 port is already allocated,说明宿主机这个端口被别的程序占用。修改 ports 里前面的宿主机端口即可。
  2. 容器启动后立刻退出 查看 logs 日志,大概率是镜像内程序配置错误、监听地址写死 127.0.0.1,要改成 0.0.0.0。
  3. 挂载文件页面不更新 检查本地文件路径是否正确,目录权限不足会出现 403,执行 chmod -R 755 ./html。
  4. docker compose 命令找不到 新版 docker 内置 compose,用 docker compose(空格),老版本是横杠 docker-compose,不要混用。

六、小结

Docker Compose 适合单主机部署小型 Web、后台工具、演示项目,配置写在 yml 里面,换服务器直接拷贝文件就能一键拉起,方便迁移和备份。后续我也打算用这套方式部署小游戏、自动化脚本配套的后台页面。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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