Я думаю, прежде всего вы должны убедиться, что приложение в контейнере 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), тогда его безопасность на хост-компьютере наверняка