Docker部署WEB 应用时,本地可以成功打开测试页,在公网上(阿里云服务器)却不能打开。
1、环境:阿里云服务器
2、CentOS7系统
3、Docker成功部署
这里前提docker 已经成功部署啦,现有有一个简单的测试案例,在docker上部署一个应用从而访问web。
运行一个 web 应用
接下来让我们尝试使用 docker 构建一个 web 应用程序。
我们将在docker容器中运行一个 Python Flask 应用来运行一个web应用。
docker pull training/webapp # 载入镜像
通过 -p 参数来设置一样的端口:
docker run -d -p 5000:5000 training/webapp python app.py
docker ps查看正在运行的容器
[root@iz2zejf0fjkrh3aalbiatoz ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e02183e21c9f training/webapp "python app.py" 2 hours ago Up 26 minutes 0.0.0.0:5000->5000/tcp wonderful_varahamihira
容器内部的 5000 端口映射到我们本地主机的 5000 端口上。
这时我们可以通过浏览器访问WEB应用
image-20210914162909863访问失败
指定外网端口为5000,
解决方案
1. 本地测试能否打开测试页
[root@iz2zejf0fjkrh3aalbiatoz ~]# curl localhost:5000
Hello world!
本地没有问题。
2. 浏览器中访问
在任意一台电脑上输入公网IP+端口号(此端口号为运行WEB应用时指定的端口号5000) 如我的阿里云公网IP为123.11.11.11 此时在任意一台有网络的浏览器地址栏输入公网IP:http://123.11.11.11:5000 应该会出现测试页
但现在出现如下图所示:
显示打不开
查啦大量资料,以前曾经也解决过,一定弄明白自已购买的地区后,再去设置安全组的配置规则。
***1. 登录阿里云管理控制台****
2.找到云服务器ECS-概览
3. 点击云服务器ECS,这个是我购买的类型,其他类型的就不清楚啦。
image-202109141643585494. 点击本安全组后,再次点击配置规则:
image-202109141646141635. 手动添加端口5000
6. 最后保存,再从浏览器地址栏输入公网IP加端口号3344成功显示测试页如图:
image-20210914164742105
网友评论