Я использую docker
и docker-compose
для развертывания и запуска моего Java-приложения, работающего на порту 5555.
Я запускаю его как docker-compose -f docker-compose.yml up -d
Но если я запускаю команду telnet вне моего сервера, на котором запущен док-контейнер, я получаю сообщение Connection refused
. Если запустить его внутри сервера, все в порядке.
Итак, эти вещи проверены:
$: docker-compose ps
$: статус UFW
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
5555/tcp ALLOW Anywhere
5432 ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
5555/tcp (v6) ALLOW Anywhere (v6)
5432 (v6) ALLOW Anywhere (v6)
докер-compose.yml
version: '3'
services:
db:
container_name: db
image: postgres
restart: always
ports:
- 5432:5432
auth:
container_name: auth
image: registryimg
restart: always
stdin_open: true
tty: true
ports:
- 5555:5555
Dockerfile
FROM openjdk:8-jre
ADD target/auth.jar app.jar
EXPOSE 5555
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "app.jar"]
Обновление 1
Из журналов докера моего контейнера я обнаружил, что приложение правильно связывается с нужным портом:
2019-01-18 10:18:11.481 DEBUG 1 --- [ntLoopGroup-2-1] io.netty.handler.logging.LoggingHandler : [id: 0xaf27337e] REGISTERED
2019-01-18 10:18:11.485 DEBUG 1 --- [ntLoopGroup-2-1] io.netty.handler.logging.LoggingHandler : [id: 0xaf27337e] BIND: localhost/127.0.0.1:5555
2019-01-18 10:18:11.489 DEBUG 1 --- [ntLoopGroup-2-1] io.netty.handler.logging.LoggingHandler : [id: 0xaf27337e, L:/127.0.0.1:5555] ACTIVE
Обновление 2
С моего домашнего компьютера я запускаю команду telnet telnet myhost 5555
и получаю сообщение об ошибке:
Trying myhost...
telnet: Unable to connect to remote host: Connection refused
После того, как это сделано, я просматриваю логи контейнеров, и они пусты (нетти не регистрировал никаких соединений).
В противном случае я хочу указать, что если я telnet другой контейнер с potgresql внутри него - все в порядке.