华为云 ECS 入门实战:使用 Docker 快速部署 Nginx 静态站点

举报
yd_242888859 发表于 2026/09/30 11:14:49 2026/09/30
【摘要】 本文记录在华为云 ECS 上通过 Docker 部署 Nginx 的完整过程,包括 ECS 创建、安全组配置、Docker 安装、容器启动、页面验证和常见问题排查,适合刚接触云服务器与容器技术的开发者参考。

一、背景与目标
最近在学习云服务器和容器化部署,因此选择华为云弹性云服务器 ECS 作为实验环境,目标是在 ECS 上使用 Docker 快速运行一个 Nginx 静态站点,并通过公网 IP 访问。

本次实践环境如下:

云平台:华为云
产品:弹性云服务器 ECS
操作系统:Ubuntu 22.04
规格:2 vCPU / 4 GB
网络:已绑定弹性公网 IP
容器:Docker
Web 服务:Nginx
二、创建并连接 ECS
登录华为云控制台后,进入“弹性云服务器 ECS”页面,点击创建云服务器。镜像选择 Ubuntu 22.04,规格根据个人需求选择。创建时需要注意安全组配置,至少放通以下端口:

22:用于 SSH 远程连接
80:用于 HTTP 访问
创建完成后,使用 SSH 连接服务器:

BASH
ssh root@<ECS公网IP>
如果使用 ubuntu 用户,则命令类似:

BASH
ssh ubuntu@<ECS公网IP>
三、安装 Docker
连接服务器后,先更新软件源:

BASH
sudo apt update
安装 Docker:

BASH
sudo apt install -y docker.io
启动 Docker 并设置开机自启:

BASH
sudo systemctl enable docker
sudo systemctl start docker
检查 Docker 是否安装成功:

BASH
docker --version
如果能看到 Docker 版本信息,说明安装完成。

四、使用 Docker 部署 Nginx
拉取 Nginx 官方镜像:

BASH
sudo docker pull nginx:latest
启动 Nginx 容器,将宿主机 80 端口映射到容器 80 端口:

BASH
sudo docker run -d --name my-nginx -p 80:80 nginx:latest
查看容器运行状态:

BASH
sudo docker ps
如果状态显示为 Up,说明容器已经正常运行。

五、配置安全组
如果浏览器无法访问,通常需要检查华为云安全组是否放通 80 端口。

进入 ECS 控制台,找到对应实例的安全组,添加入方向规则:

协议端口:TCP 80
源地址:0.0.0.0/0
动作:允许
测试环境可以这样配置,生产环境建议根据实际需求限制源 IP。

六、验证访问
在浏览器中输入:

TEXT
http://<ECS公网IP>
如果看到 Nginx 默认欢迎页面,说明部署成功。

也可以在服务器内部使用 curl 验证:

BASH
curl http://localhost
正常情况下会返回 Nginx 的 HTML 页面内容。

七、自定义静态页面
如果想部署自己的页面,可以创建目录和 HTML 文件:

BASH
mkdir -p /home/ubuntu/nginx-html
cat > /home/ubuntu/nginx-html/index.html <<'EOF'
<h1>Hello Huawei Cloud ECS + Docker Nginx</h1>
<p>This page is deployed on Huawei Cloud ECS.</p>
EOF
停止并删除旧容器:

BASH
sudo docker rm -f my-nginx
重新启动容器并挂载自定义页面:

BASH
sudo docker run -d --name my-nginx \
  -p 80:80 \
  -v /home/ubuntu/nginx-html:/usr/share/nginx/html:ro \
  nginx:latest
再次访问公网 IP,就能看到自定义页面。

八、常见问题
浏览器无法访问

检查安全组是否放通 80 端口,服务器防火墙是否限制,容器是否正常运行。

80 端口被占用

可以执行:

BASH
sudo ss -tlnp | grep :80
找到占用端口的进程后进行处理。

Docker 权限问题

如果不想每次都输入 sudo,可以将当前用户加入 docker 组:

BASH
sudo usermod -aG docker $USER
然后重新登录服务器生效。

九、总结
通过本次实践,我完成了在华为云 ECS 上安装 Docker、部署 Nginx、配置安全组以及挂载自定义静态页面的过程。整体流程比较清晰,ECS 与 Docker 结合可以快速搭建测试环境。后续还可以继续尝试绑定域名、配置 HTTPS、接入对象存储 OBS 或 CDN,进一步提升站点可用性和访问速度。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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