Apache Tomcat — это веб-сервер и контейнер сервлетов с открытым исходным кодом, разработанный Apache Software Foundation (ASF).
Tomcat реализует спецификации Java Servlet и JavaServer Pages от Oracle и предоставляет чистую среду веб-сервера HTTP HTTP для запуска кода Java.
В этом руководстве мы узнаем, как объединить Docker и Tomcat для развертывания приложения Tomcat «hello world», используя Tomcat в качестве контейнера.
Требования:
Чтобы успешно следовать и использовать инструкции и код, представленные в этом руководстве, убедитесь, что у вас есть следующее:
- Установлен Docker Engine на вашем хост-компьютере.
- Установите Java JDK на свой компьютер для проверки кода Java (необязательно).
- Текстовый редактор для редактирования исходного кода и конфигураций Docker.
При соблюдении данных требований мы можем продолжить и научиться развертывать приложение Tomcat с помощью Docker.
Извлеките образ Tomcat в Docker
К счастью, нам не нужно настраивать базовый образ, содержащий все инструменты для запуска приложения Tomcat. Мы можем просто использовать образ Tomcat из Docker Hub.
Чтобы получить изображение, мы можем запустить команду следующим образом:
$ докер вытащить кота
Создайте приложение Hello World
Следующим шагом будет создание приложения «Hello World». Начните с создания каталога для хранения исходного кода и перейдите в него.
$ мкдир Привет, мир && CD Привет, мир
Внутри корневого каталога создайте папку веб-приложения и внутри нее папку WEB-INF.
Структура каталогов должна выглядеть так:
Привет, мир /└── веб-приложение
└── WEB-INF
3 каталоги, 0 файлы
Затем перейдите в каталог WEB-INF и создайте файл «web.xml» со следующим кодом:
< веб-приложение xmlns '=' 'http://xmlns.jcp.org/xml/ns/javaee'
xmlns: кси '=' 'http://www.w3.org/2001/XMLSchema-instance'
кси: схемаМестоположение '=' 'http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd'
версия '=' '4.0' >
< сервлет >
< имя-сервлета > Привет, мир имя-сервлета >
< класс сервлета > HelloWorldServlet класс сервлета >
сервлет >
< отображение сервлетов >
< имя-сервлета > Привет, мир имя-сервлета >
< URL-шаблон >/ привет URL-шаблон >
отображение сервлетов >
веб-приложение >
Сохраните файл и закройте редактор.
Вернувшись в окно терминала, создайте «HelloWorldServlet.java» внутри каталога WEB-INF/classes.
$ мкдир занятия$ трогать HelloWorldServlet.java
Добавьте содержимое приложения, как показано ниже:
импортируйте javax.servlet.http. * ;
импортировать java.io. * ;
публичный класс HelloWorldServlet расширяет HttpServlet {
общественная пустота ( Запрос HttpServletRequest, ответ HttpServletResponse )
выдает ServletException, IOException {
ответ.setContentType ( 'текст/html' ) ;
PrintWriter out = response.getWriter ( ) ;
out.println ( '' ) ;
out.println ( '
out.println ( '<тело>' ) ;
out.println ( '
Привет, мир!
' ) ;out.println ( '