Когда вы запускаете Docker-контейнер, все порты, которые прослушиваются в нем любым приложением, по умолчанию не публикуются.
Чтобы опубликовать порт, вам нужно указать его при запуске контейнера с использованием вашего изображения. Для получения более подробной информации о том, как это сделать, вы можете проверить раздел «EXPOSE» в документации команды docker run : https://docs.docker.com/engine/reference/run /
Короче говоря, вы хотите добавить еще одну опцию во время работы вашего контейнера:
docker run --name mycontainer1 -p 8080:8080 myimage1
Я не уверен, что вы хотите добиться этого, добавив
[ 111]
в вашем Dockerfile. На самом деле это не означает, что порт будет открыт, когда образ используется для запуска контейнера. Как вы можете найти в Справочник по Dockerfile :
Инструкция EXPOSE фактически не публикует порт. Он функционирует как тип документации между человеком, который создает образ, и человеком, который запускает контейнер, о том, какие порты предназначены для публикации. Чтобы фактически опубликовать порт при запуске контейнера, используйте флаг -p на панели запуска Docker, чтобы опубликовать и сопоставить один или несколько портов, или флаг -P, чтобы опубликовать все открытые порты и сопоставить их с портами высокого порядка.
BLOCKQUOTE>
Как насчет ТАК?
Проверьте ресурсы на этом сайте, это имеет очень хороший набор демонстрационных вопросов и ответов: http://www.j2eebrain.com/j2ee-interview-questions-answers
Проверьте книжные Трудные вопросы Java Joshua Bloch. http://www.javapuzzlers.com/
Вопрос о JCEA может быть полезным:
http://www.coderanch.com/t/152957/Architect-Certification-SCEA/certification/java-application-client
http://www.glassdoor.com/ много хороших java вопросов и головоломок.