我将Sping Boot Socket.IO应用程序部署到Azure Web App for Containers。
在Docker中,Spring使用端口80,Socket.IO使用端口443。
我尝试使用Azure虚拟IP地址和主机名的默认域值,但总是出现以下错误:
Caused by: java.net.BindException: Cannot assign requested address
2023-07-15T15:49:58.391590007Z at java.base/sun.nio.ch.Net.bind0(Native Method) ~[na:na]
2023-07-15T15:49:58.391594407Z at java.base/sun.nio.ch.Net.bind(Net.java:555) ~[na:na]
2023-07-15T15:49:58.391598807Z at java.base/sun.nio.ch.ServerSocketChannelImpl.netBind(ServerSocketChannelImpl.java:337) ~[na:na]
2023-07-15T15:49:58.391606707Z at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:294) ~[na:na]
2023-07-15T15:49:58.391614307Z at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:141) ~[netty-transport-4.1.94.Final.jar!/:4.1.94.Final]
2023-07-15T15:49:58.391618807Z at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:562) ~[netty-transport-4.1.94.Final.jar!/:4.1.94.Final]
2023-07-15T15:49:58.391623407Z at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1334) ~[netty-transport-4.1.94.Final.jar!/:4.1.94.Final]
2023-07-15T15:49:58.391627908Z at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:600) ~[netty-transport-4.1.94.Final.jar!/:4.1.94.Final]
字符串
1条答案
按热度按时间vu8f3i0k1#
大多数情况下,当您尝试绑定的端口已在使用时,会发生上述错误。将
Socket.IO
服务器绑定到与Azure Web App for Containers使用的默认端口不冲突的其他端口。Socket.IO
的8080。我使用的是Java 11版本的应用程序(Springboot)。
依赖项:
字符串
的数据
Docker容器中:
聊天应用:
的
的
然后,我创建了一个从ACR部署并配置端口的webapp:
型
容器日志: