在Flexus应用服务器L实例上用Docker跑通第一个Web服务:端口、安全组与容器自启实录

举报
yd_224028679 发表于 2026/10/29 23:42:43 2026/10/29
【摘要】 在Flexus应用服务器L实例上用Docker跑通第一个Web服务的实录:按容器、端口、安全组三道关口排障,先本机验证再外网验证,并用重启策略保证服务重启后自动恢复。

一、目标:先把最小链路跑通,再谈优化

这篇记录的是一次很朴素的目标:在 Flexus 应用服务器 L 实例上,用 Docker 把一个 Web 服务真正跑起来,并且能从外网访问、重启后还能自己恢复。之前学容器概念时,镜像、容器、端口映射都听过,但只有亲手把三道关口打通,才算真正理解:第一是容器本身有没有起来,第二是宿主机端口有没有映射对,第三是云上的安全组有没有放行。

我的做法是先做最小验证,不一上来就堆反向代理、域名和 HTTPS。最小链路通了,再按需加东西,出了问题也容易定位。

二、准备工作:确认 Docker 可用

登录服务器后,先确认 Docker 是否已经安装并能正常运行。用 docker version 看客户端和服务端信息,用 docker ps 看当前有没有正在运行的容器。如果 Docker 还没有启动,先启动服务并设置开机自启,这一步很关键,否则服务器重启后容器不会自动恢复,后面做的自启配置也没有意义。

另外要养成一个习惯:凡是改动都先看一眼状态,不要凭感觉猜。容器起没起、端口占没占用、日志报没报错,都应该用命令确认,而不是反复刷新浏览器碰运气。

三、拉取镜像并启动第一个容器

选一个体积小、启动快的官方 Web 镜像做验证,例如 nginx。拉取镜像后,用端口映射的方式启动容器,把宿主机的一个端口映射到容器内的 Web 端口,同时给容器起一个容易识别的名字,并设置重启策略为 always。这样做的好处是:容器名方便后续管理,重启策略能在服务器重启或容器异常退出后自动拉起服务。

启动后先在服务器本机验证:用 curl 访问映射后的本地端口,能看到默认欢迎页,说明容器和端口映射都没有问题。如果本机都访问不通,就不要急着去查安全组,先看容器状态和日志。

四、排查三道关口:容器、端口、安全组

这是整篇最值得记录的部分,因为新手最容易在这里绕圈。

第一道是容器本身。用 docker ps 确认容器状态是不是 Up,用 docker logs 看启动日志。如果容器反复重启或马上退出,日志里通常会有直接原因,例如端口被占用、配置文件写错、启动命令不对。先处理日志里的问题,再谈下一步。

第二道是端口映射和本机防火墙。用本机 curl 访问映射端口,如果本机通、外网不通,问题大概率不在容器,而在网络放行上。用 ss 或 netstat 确认宿主机端口确实在监听,确认映射关系没有写反:冒号左边是宿主机端口,右边是容器端口,写反了就会出现容器明明在跑、浏览器却打不开的情况。

第三道是云安全组。在 Flexus 实例的安全组里放行对应的入方向端口,只放行当前确实需要的端口,不要图省事放行全部端口。安全组规则保存后,再从外网浏览器访问服务器公网地址加端口,能打开页面,整条链路才算真正跑通。

五、让服务经得起重启:重启策略与日常命令

跑通一次不等于长期可用。把重启策略设为 always 之后,可以主动验证一次:重启容器,再看它是否自动恢复;有条件时重启一次服务器,再确认服务是否还在。验证通过,才敢说这个服务是“跑起来了”,而不是“刚才碰巧跑起来了”。

日常管理只需要记住几个命令:看运行中的容器用 docker ps,看全部容器包括已停止的用 docker ps -a,看日志用 docker logs,停止和删除容器分别用 docker stop 和 docker rm。需要更新镜像时,先拉取新镜像,再停旧容器、删旧容器、用同样的端口映射起新容器,顺序不要乱。

六、常见坑与检查清单

第一,端口冲突:宿主机端口已经被别的服务占用时,容器会启动失败或无法访问,先换一个空闲端口验证,再决定长期用哪个端口。

第二,安全组和系统防火墙是两层:只放行其中一层,外网仍然可能访问不了,两层都要确认。

第三,容器里改文件不等于持久化:直接进容器改的东西,容器删除后就没了。真正要长期保存的配置和数据,应该用挂载卷或重新构建镜像的方式处理,不要把容器当成虚拟机长期手工改。

第四,生产环境不要长期用默认页面做验证:验证通过后,就应该换成自己的静态页面或应用镜像,并把不再需要的测试容器及时清理掉。

七、总结

这次实录的结论很简单:Docker 本身不难,难的是把容器、端口、安全组三层按顺序排障。先本机验证,再外网验证;先看日志,再改配置;先跑通最小服务,再加反向代理和域名。把这个顺序固定下来,以后在云服务器上部署任何 Web 服务,都会少走很多弯路。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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