Рубрики
Без рубрики

Dockerize Сервлеты Apache Tomcat

Шаг 1 – Зависимости Убедитесь, что у вас есть Java EE, совместимая версия JDK и Docker i… С тегами tomcat, apache, java, docker.

Шаг 1 – Зависимости

Убедитесь, что у вас есть Установлена Java EE , совместимая версия JDK и Docker . Если у вас нет Java EE установлен, или если у вас есть OpenJDK , вы можете использовать Java EE jar-файл, загруженный с эта ссылка

Шаг 2 – Скомпилируйте исходный код

Давайте воспользуемся исходным кодом Java из эту ссылку и скомпилируйте ее с помощью

javac -cp .: -target 1.7 -source 1.7 TestingServlet.java

Если вы используете Windows, вы должны использовать ; вместо : в classpath -target – это номер версии среды выполнения tomcat. Аналогично для - источник

Шаг 3 – Настройка среды

Давайте воспользуемся Dockerfile из здесь и давайте добавим кое-что еще.

FROM tomcat:8.0-alpine
LABEL maintainer="deepak@softwareyoga.com"

COPY ./web.xml /usr/local/tomcat/webapps/ROOT/WEB-INF
COPY ./TestingServlet.class /usr/local/tomcat/webapps/ROOT/WEB-INF/classes/TestingServlet.class
COPY ./tomcat-users.xml /usr/local/tomcat/conf/tomcat-users.xml

EXPOSE 8080
CMD ["catalina.sh", "run"]

Мы определяем web.xml и tomcat-users.xml позже. Файл TestingServlet.class важно и мы запомним это имя на потом.

Шаг 4 – Настройка

Давайте определим web.xml следующим образом:





  Welcome to Tomcat
  
     Welcome to Tomcat
  

  
   Testing
   TestingServlet 
  

 
 Testing
 /servlet/TestingServlet
 


класс сервлета – это имя файла .class , а url-шаблон |/- это |/HTTP url-адрес, по которому вы хотите получить к нему доступ.

Давайте определим tomcat-users.xml следующим образом:







  
  
  

Apache Tomcat определяет список ролей здесь

Шаг 5 – Развертывание

Давайте создадим образ Docker

docker build -t tomcat .

И запустите его с помощью

docker run -d -p 8080:8080 --name tomcat tomcat

Apache Tomcat работает на порту 8080 в контейнере

Теперь вы можете посетить http://localhost:8080/servlet/TestingServlet и увидите следующее сообщение

Шаг 6 – Отладка

Если вы видите ошибку, подобную этой Это означает, что вы должны выбрать другую цель и исходная версия, более высокая или более низкая в зависимости от версии целевой среды выполнения. Вы можете проверить версию Java Runtime через Tomcat UI в нижней части страницы

В качестве альтернативы вы можете запустить bash version.sh в /usr/local/tomcat/bin когда внутри запущенного контейнера Docker

Рекомендации

  1. Докер Tomcat
  2. Кросс-компилятор Java
  3. Настройка сервлета
  4. Настройка сервлета 2
  5. Роли Apache Tomcat

Оригинал: “https://dev.to/theprogrammerdavid/dockerize-apache-tomcat-servlets-33jj”