用 Docker 在华为云上快速部署 Nginx 的步骤与常见问题
【摘要】 用 Docker 在华为云上快速部署 Nginx在弹性云服务器上用 Docker 跑 Nginx,适合先把静态页或反向代理跑通再谈证书和网关。下面按安装、启动、挂载和排查看,镜像使用 nginx:1.27-alpine,命令在 EulerOS 22.03 与 Ubuntu 22.04 上均可执行。1. 准备环境安全组入方向放行 TCP 80。若稍后改映射端口,规则要一起改。安装并启动 Doc...
用 Docker 在华为云上快速部署 Nginx
在弹性云服务器上用 Docker 跑 Nginx,适合先把静态页或反向代理跑通再谈证书和网关。下面按安装、启动、挂载和排查看,镜像使用 nginx:1.27-alpine,命令在 EulerOS 22.03 与 Ubuntu 22.04 上均可执行。
1. 准备环境
安全组入方向放行 TCP 80。若稍后改映射端口,规则要一起改。安装并启动 Docker:
sudo dnf install -y docker
sudo systemctl enable --now docker
docker version
Ubuntu 把 dnf 换成 apt,先执行 sudo apt-get update。
2. 启动 Nginx
docker run -d --name web --restart=unless-stopped -p 80:80 nginx:1.27-alpine
docker ps
curl -I http://127.0.0.1
返回 200 OK 说明容器和端口映射都正常。浏览器访问公网 IP 应看到 Nginx 欢迎页。
3. 换成自己的页面
mkdir -p /opt/web
echo '<h1>hello nginx</h1>' > /opt/web/index.html
docker rm -f web
docker run -d --name web --restart=unless-stopped -p 80:80 -v /opt/web:/usr/share/nginx/html:ro nginx:1.27-alpine
只读挂载能避免容器里的进程改掉宿主机文件。
4. 常见问题
- 本机 curl 正常、浏览器打不开:优先查安全组是否放行 80,再看 firewalld 或 ufw。
- 端口占用:执行 ss -lntp | grep ':80',把映射改成 -p 8080:80。
- 改了宿主机文件页面不变:确认挂到 /usr/share/nginx/html,并用 docker exec web ls /usr/share/nginx/html 核对。
- 容器马上退出:docker logs web,多半是自行挂入的配置文件语法错误。
验证结束后执行 docker rm -f web,避免长期占用 80 端口。生产环境再补 HTTPS、访问日志和镜像版本固定,不要长期使用 latest。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)