Изменение порта tomcat в Dockerfile

#docker #docker-compose #dockerfile

#docker #докер-составить #докерфайл

Вопрос:

Я создаю образ Docker с помощью сборки dockerfile, где моим базовым изображением является Tomcat 8.0: jre8. Теперь в dockerfile я хочу указать пользовательский порт вместо 8080 и предоставить пользовательский порт вне контейнера docker.

Кто-нибудь может подсказать мне, как это можно сделать?

Ответ №1:

Порт, используемый внутри контейнера, не имеет ничего общего с docker. Это настроено в файлах конфигурации Tomcat.

Вы можете сопоставить порт, используемый внутри, с портом на хосте с помощью --publish (или -p для краткости) опции docker run команды при запуске контейнера.

 docker run --publish=hostport:containerport ...
  

Комментарии:

1. FROM tomcat:8.0-jre8 #install npm and bower RUN echo "Installing NPM" RUN apt-get update RUN apt-get -y install nodejs RUN apt-get -y install npm RUN echo "Installing Bower" RUN npm -g install bower RUN ln -s /usr/bin/nodejs /usr/bin/node #install git RUN apt-get -y install git Я создаю свой dockerfile следующим образом, в котором вместе с tomcat устанавливаю npm, bower, git и мои пользовательские библиотеки js. Как здесь указать порт хоста, поскольку я не запускаю docker, я просто хочу использовать созданный образ?

2. Порт, который прослушивает tomcat, настроен в conf/server.xml файле. Смотрите документацию tomcat для получения подробной информации. Тем не менее, я не понимаю, зачем вам нужно его менять (он может быть сопоставлен с любым портом хоста). Также, что вы имеете в виду, говоря «я не запускаю docker»? Вы должны создать контейнер на основе изображения, чтобы запустить его.