1

我有基于 Ktor 的超简单 udp 服务器:

fun main() = runBlocking {
    val server = aSocket(ActorSelectorManager(Dispatchers.IO))
                                  .udp()
                                  .bind(InetSocketAddress("localhost",9090))
    while (true) {
        println(server.incoming.receive().packet.readText())
    }
}

而且我在 host/my-pc 上没有问题,但它在 docker 上不起作用。它正在运行,但它不接收 UDP 数据包。

那是我的 Dockerfile:

来自 phusion/baseimage

维护者 cayzerok@gmail.com

暴露 9090/udp

运行 apt-get update && apt-get install -y default-jre-headless

音量/数据

复制 *.jar /app/server.jar

运行 apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

CMD ["java", "-jar", "/app/server.jar"]

这就是我的“docker run”命令:

docker run -p 9090:9090/udp cayzerok/sample

我究竟做错了什么?原因一定是在服务器上,我用docker-udp-listener测试了一个客户端。

感谢关注!

4

0 回答 0