Apache Tomcat è un server Web open source e un contenitore servlet sviluppato da Apache Software Foundation (ASF).
Tomcat implementa le specifiche Java Servlet e JavaServer Pages di Oracle e fornisce un ambiente server Web Java HTTP puro in cui eseguire il codice Java.
In questo tutorial impareremo come combinare Docker e Tomcat per distribuire un'applicazione Tomcat 'ciao mondo' utilizzando Tomcat come contenitore.
Requisiti:
Per seguire e utilizzare correttamente le istruzioni e il codice forniti in questo tutorial, assicurati di disporre di quanto segue:
- Installato Docker Engine sul tuo computer host
- Java JDK installato sul tuo computer per testare il tuo codice Java (opzionale)
- Un editor di testo per modificare il codice sorgente e le configurazioni Docker
Una volta soddisfatti i requisiti indicati, possiamo procedere e imparare come distribuire un'app Tomcat utilizzando Docker.
Estrai l'immagine Tomcat in Docker
Fortunatamente, non è necessario configurare un'immagine di base che contenga tutti gli strumenti per eseguire un'applicazione Tomcat. Possiamo semplicemente utilizzare l'immagine Tomcat dal Docker Hub.
Per estrarre l'immagine, possiamo eseguire il comando come segue:
$ la finestra mobile tira Tomcat
Crea un'applicazione Hello World
Il passaggio successivo è creare l'applicazione 'Hello World'. Inizia creando una directory in cui archiviare il codice sorgente e naviga nella directory.
$ mkdir Ciao mondo && CD Ciao mondo
All'interno della directory root, crea una cartella webapp e crea una cartella WEB-INF al suo interno.
La struttura della tua directory dovrebbe assomigliare a questa:
Ciao mondo /└── webapp
└── WEB-INF
3 directory, 0 File
Successivamente, naviga nella directory WEB-INF e crea un file “web.xml” con il seguente codice:
< app 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'
versione = '4.0' >
< servlet >
< nome-servlet > Ciao mondo nome-servlet >
< classe servlet > HelloWorldServlet classe servlet >
servlet >
< mappatura servlet >
< nome-servlet > Ciao mondo nome-servlet >
< modello URL >/ Ciao modello URL >
mappatura servlet >
app web >
Salvare il file e chiudere l'editor.
Tornando alla finestra del terminale, crea un 'HelloWorldServlet.java' nella directory WEB-INF/classes.
$ mkdir classi$ tocco HelloWorldServlet.java
Aggiungi il contenuto dell'applicazione come mostrato di seguito:
importa javax.servlet.http. * ;
importa java.io. * ;
la classe pubblica HelloWorldServlet estende HttpServlet {
public void doGet ( Richiesta HttpServletRequest, risposta HttpServletResponse )
lancia ServletException, IOException {
risposta.setContentType ( 'testo/html' ) ;
PrintWriter out = risposta.getWriter ( ) ;
out.println ( '' ) ;
out.println ( '
out.println ( '
out.println ( '
Ciao mondo!
' ) ;out.println ( '