Почему я не могу получить доступ к своим конечным точкам в Docker? - PullRequest
0 голосов
/ 06 января 2019

Я запускаю свой Docker-контейнер и ожидаю попадания в его конечные точки.

В этом вопросе я предоставил свой Dockerfile и gradle.build. Как улучшить файл gradle.build?

Образ Docker создан успешно, и когда я его запускаю, я вижу, как запускается Spring Boot, включая «Логотип Spring Boot» и Tomcat started on port(s): 9090 (http) with context path ''

Я запускаю свое изображение с pavelpolubentcev$ docker run -i -t -e SERVER_PORT=9090 messenger-auth-auth

Тем не менее, я не могу получить доступ к своим конечным точкам, когда я пытаюсь http://localhost:9090, тогда нет "Could not get any response".

Когда я запускаю docker ps -a, я вижу, как работает мое изображение:

9d31b3e2aa63 messenger-auth-auth "java -jar /app/mess…" 6 minutes ago Up 6 minutes 8080/tcp practical_nightingale

Но почему-то я тоже вижу 8080/tcp

Что я должен сделать, чтобы запустить его правильно и, наконец, получить ответ от моих конечных точек?

enter image description here

enter image description here

Спасибо за вашу помощь, я ценю это, мне действительно нужно решить проблему.

Ответы [ 2 ]

0 голосов
/ 06 января 2019

Значение 8080/tcp, которое вы видите в выводе при перечислении запущенных контейнеров, определено в EXPOSE на изображении Dockerfile. Но эта инструкция на самом деле не публикует порт.

Вы должны сопоставить порт хоста (компьютера) с портом контейнера, чтобы пересылать TCP / UDP с хоста на контейнер.

Тем не менее, в вашем случае команда для запуска контейнера:

docker run -e SERVER_PORT=9090 -p 9090:9090 messenger-auth-auth

0 голосов
/ 06 января 2019

Сопоставить порт контейнера с внешним портом: docker run -p 9090:9090 ...
Первый порт - это внешний порт (к которому вы хотите получить доступ с хост-машины), а второй - внутренний порт (порт на контейнере). Вы можете указать тот же внешний порт или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...