Docker实例正常启动,且端口正常映射,但是外网无法访问接口服务

1、前提说明:项目使用的是微服务,用的springboot2 2.3.2.RELEASE版本,使用Docker部署服务;

2、出现问题:Docker实例正常启动,且端口正常映射【19960:8080】,但是外网无法访问接口服务;

3、排查步骤:

3.1、检查Docker实例状态,正常启动;

3.2、检查防火墙,是关闭状态;

3.3、检查阿里云服务器对外开放端口,端口也已经开放。

3.4、迷茫中。。。

最后在反复排查中,发现了一个问题:

首先,我在Dockerfile里面设置了:EXPOSE 8080;

然后,项目的yml配置文件端口号配置的是:

server:

         port: 8002

最后,启动Docker时,用的命令是:docker run -d -p 19960:8080 ...

也就是说,容器对外暴露的接口是8080,springboot项目启动的端口是8002,服务器对外的端口是19960。我在使用telnet对应端口时,提示:

于是,我试了这样操作:

1.修改项目的yml配置文件端口号配置的是:

server:

         port: 19960

2.在Dockerfile里面修改设置:EXPOSE 19960;

3.启动Docker时,用的命令是:docker run -d -p 19960:19960 ...

最后,终于可以正常访问了。。。

总结下:容器启动时,docker run -d -p 19960:19960,设置对外暴露的端口,应该是要跟项目配置的服务端口【server.port:19960】保持一致的。

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值