Подключите порт Spring Boot к 80 в контейнере докера - PullRequest
0 голосов
/ 04 июня 2019

Я указываю PORT 80 в Spring boot application.properties вот так server.port=80 Так что при работе на локальном хосте это работает на порту 80

Теперь мне нужно запустить его в док-контейнере, и я сделал несколько проб и попыток для сопоставления портов.

docker run -d -p 80:8080 DOCKERHUB_REPO/DOCKER_IMAGE

Тогда я сделал

docker run -d -p 80:80 DOCKERHUB_REPO/DOCKER_IMAGE

Ничего из этого не сработало. Как мне поступить? Любая помощь будет высоко оценен. Спасибо

1 Ответ

0 голосов
/ 04 июня 2019

Я думаю, прежде всего вы должны убедиться, что приложение в контейнере Docker действительно запускается на порту 80.

docker exec -it <process_id> bash

curl http://localhost:80/<somthing, some reset or actuator if you have it>

Как только он будет установлен, убедитесь, что вы указали EXPOSE 80 в Dockerfile. Прочитайте принятый ответ , чтобы понять, что именно делают -p и EXPOSE.

Теперь работать с -p хорошо, но, возможно, у вас нет прав доступа к порту 80. Чтобы устранить проблемы, связанные с докером, из картинки, я предлагаю протестировать с другим портом, который больше 1024, что-то вроде 8080 например. Если он работает (с опциями Expose и -p), тогда его безопасность на хост-компьютере наверняка

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