У меня есть ультра-простой 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:
FROM phusion / baseimage
MAINTAINER cayzerok@gmail.com
EXPOSE 9090 / udp
ЗАПУСК apt-get update && apt-get install -y default-jre-headless
ОБЪЕМ / данные
COPY * .jar/app/server.jar
RUN 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.
Спасибо за внимание!