Combinați Docker și Tomcat

Combinati Docker Si Tomcat



Apache Tomcat este un server web open-source și un container de servlet dezvoltat de Apache Software Foundation (ASF).

Tomcat implementează specificațiile Java Servlet și JavaServer Pages de la Oracle și oferă un mediu de server web Java HTTP pur pentru rularea codului Java.







În acest tutorial, vom învăța cum să combinăm Docker și Tomcat pentru a implementa o aplicație Tomcat „hello world” folosind Tomcat ca container.



Cerințe:

Pentru a urma și utiliza cu succes instrucțiunile și codul furnizat în acest tutorial, asigurați-vă că aveți următoarele:



    1. S-a instalat Docker Engine pe mașina dvs. gazdă
    2. S-a instalat Java JDK pe computer pentru a testa codul Java (opțional)
    3. Un editor de text pentru a edita codul sursă și configurațiile Docker

Cu cerințele date îndeplinite, putem continua și învățam cum să implementăm o aplicație Tomcat folosind Docker.





Trageți imaginea Tomcat în Docker

Din fericire, nu trebuie să configuram o imagine de bază care conține toate instrumentele pentru a rula o aplicație Tomcat. Putem folosi pur și simplu imaginea Tomcat din Docker Hub.

Pentru a extrage imaginea, putem rula comanda după cum urmează:



$ docker pull tomcat


Creați o aplicație Hello World

Următorul pas este să creați aplicația „Hello World”. Începeți prin a crea un director pentru a stoca codul sursă și navigați în director.

$ mkdir Salut Lume && CD Salut Lume


În directorul rădăcină, creați un folder webapp și creați un folder WEB-INF în el.

Structura dvs. de director ar trebui să arate astfel:

Salut Lume /
└── aplicație web
└── WEB-INF

3 directoare, 0 fişiere


Apoi, navigați în directorul WEB-INF și creați un fișier „web.xml” cu următorul cod:

< ?xml versiune = „1.0” codificare = „UTF-8” ? >
< aplicație web xmlns = „http://xmlns.jcp.org/xml/ns/javaee”
xmlns: xsi = „http://www.w3.org/2001/XMLSchema-instance”
xsi: schemaLocation = „http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd”
versiune = „4.0” >
< servlet >
< nume-servlet > Salut Lume nume-servlet >
< clasă-servlet > HelloWorldServlet clasă-servlet >
servlet >
< servlet-mapping >
< nume-servlet > Salut Lume nume-servlet >
< url-pattern >> Buna ziua url-pattern >
servlet-mapping >
aplicație web >


Salvați fișierul și închideți editorul.

Înapoi în fereastra terminalului, creați un „HelloWorldServlet.java” în directorul WEB-INF/classes.

$ mkdir clase
$ atingere HelloWorldServlet.java


Adăugați conținutul aplicației așa cum se arată în următoarele:

import javax.servlet. * ;
import javax.servlet.http. * ;
import java.io. * ;

clasa publică HelloWorldServlet extinde HttpServlet {
public void doGet ( Solicitare HttpServletRequest, răspuns HttpServletResponse )
aruncă ServletException, IOException {
response.setContentType ( „text/html” ) ;
PrintWriter out = response.getWriter ( ) ;
out.println ( „” ) ;
out.println (Hello World Servlet ) ;
out.println ( ) ;
out.println (

Bună ziua, lume!

) ;
out.println ( ) ;
}
}


Aceasta setează un servlet Tomcat de bază care imprimă „Hello world”.



Definiți fișierul Docker

Următorul pas pentru noi este să definim Dockerfile pentru a construi o imagine personalizată care să includă aplicația noastră „Hello World”.

În directorul rădăcină, creați un fișier nou numit „Dockerfile”:







$ atingere ~ / Salut Lume / Dockerfile


Editați fișierul și adăugați configurația după cum urmează:

# setați imaginea de bază Tomcat
DE LA tomcat:latest

# Copiați aplicația Hello World în directorul de aplicații web Tomcat
COPIE . / aplicație web / usr / local / motan / aplicații web / aplicația mea
# Expuneți portul 8080 pentru Tomcat
EXPUNE 8080


Ar trebui să aveți aspectul directorului după cum urmează:

Salut Lume
├── Dockerfile
└── aplicație web
└── WEB-INF
├── cursuri
│   └── HelloWorldServlet.java
└── web.xml

4 directoare, 3 fişiere

Construiește imaginea

Apoi, construim imaginea personalizată Tomcat așa cum se arată în următoarea comandă:

$ docker build -t aplicația tomcat .


Rulați Containerul

Odată ce avem imaginea pregătită, putem rula containerul din imagine folosind comanda după cum urmează:

$ docker run -d -p 8080 : 8080 --Nume tomcat-container tomcat-app


Acest lucru ar trebui să construiască containerul Tomcat din imaginea tomcat-app pe care am creat-o în pasul anterior și să-l lege la portul 8080 de pe mașina gazdă.

Accesați aplicația

Deschideți un browser web și navigați la . Ar trebui să vedeți „Bună, lume!” mesaj afișat în browser.

Concluzie

Felicitări! Ați implementat cu succes o aplicație „Hello World” într-un container Tomcat Dockerized.