Kotlin ktor UDP сервер + проблема с докером
У меня есть ультра-простой UDP-сервер на базе Ktor:
fun main() = runBlocking {
val server = aSocket(ActorSelectorManager(Dispatchers.IO))
.udp()
.bind(InetSocketAddress("localhost",9090))
while (true) {
println(server.incoming.receive().packet.readText())
}
}
И у меня нет проблем с ним на хосте / моем компьютере, но он не работает на докере. Он работает, но не принимает UDP-пакеты.
Это мой Dockerfile:
ОТ фьюжн / базовое изображение
ОБСЛУЖИВАНИЕ cayzerok@gmail.com
ЭКСПОЗИЦИЯ 9090/ UDP
RUN apt-get update && apt-get install -y default-jre-headless
ОБЪЕМ / данные
COPY *.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.
Спасибо за внимание!