java – 无法从主机访问Docker端口
我有一个新的Spring Boot应用程序,我刚刚完成并尝试将其部署到Docker.在容器内部,应用程序正常工作.它使用端口9000进行面向用户的请求,使用9100进行健康检查等管理任务.当我启动docker实例并尝试访问端口9000时,我收到以下错误:
经过大量的实验(通过curl),我确认了几个不同的配置,应用程序在容器内运行良好,但是当我尝试将端口映射到主机时它没有连接.我尝试使用以下命令启动它.它们都不允许我从主机访问端口.
解决方法 works使用–net host option的唯一方法,但这不允许我在该主机上运行多个容器.
端口和暴露实验 我使用了各种版本的Dockerfile,暴露了不同的端口,如9000和9100或只有9000.这些都没有帮助.这是我的最新版本:
Hello World有效 为了确保我可以运行Spring Boot应用程序,我尝试了Simplest-Spring-Boot-MVC-HelloWorld并且它工作正常. Netstat结果 我使用netstat从主机和容器进行端口扫描: 来自主持人
从容器
容器正在使用Ubuntu This SO question看起来很相似,但很少有细节,没有答案,所以我想我会尝试更多地记录我的情景. 最佳答案
我遇到了类似的问题,其中将主机IP地址指定为“127.0.0.1”将无法正确地将端口转发到主机.
将Web服务器的IP设置为“0.0.0.0”可以解决问题 例如 – 对于我的Node应用程序 – 以下内容不起作用
以下哪项有效:
我猜这意味着默认情况下,docker正在暴露0.0.0.0:containerPort – >当地港口 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 理解Zone
- my first article on CSDN blog in english
- angularjs中的filter(过滤器)——格式化日期的date
- 优化yum下载安装慢,不断换mirror
- 多次使用axis2调用webservice后,报连接超时错误
- Bash中的declare,typeset和local变量之间的区别
- WebService大讲堂之Axis2(5):会话(Session)管理
- angularjs – 使用Angular JS的移动应用程序[closed]
- 使用SoapUI测试webservice接口详细步骤
- bash – 具有输入和管理员权限的Applescript Execute Shell