Apache Tomcat är en webbserver med öppen källkod och servletbehållare utvecklad av Apache Software Foundation (ASF).
Tomcat implementerar Java Servlet och JavaServer Pages-specifikationerna från Oracle och det tillhandahåller en ren Java HTTP-webbservermiljö för Java-koden att köras i.
I den här handledningen kommer vi att lära oss hur man kombinerar Docker och Tomcat för att distribuera en Tomcat 'hello world'-applikation med Tomcat som en behållare.
Krav:
För att framgångsrikt följa och använda instruktionerna och koden i denna handledning, se till att du har följande:
- Installerade Docker Engine på din värddator
- Installerade Java JDK på din maskin för att testa din Java-kod (valfritt)
- En textredigerare för att redigera källkoden och Docker-konfigurationer
Med de givna kraven uppfyllda kan vi fortsätta och lära oss hur man distribuerar en Tomcat-app med Docker.
Dra Tomcat-bilden i Docker
Som tur är behöver vi inte konfigurera en basbild som innehåller alla verktyg för att köra en Tomcat-applikation. Vi kan helt enkelt använda Tomcat-bilden från Docker Hub.
För att dra bilden kan vi köra kommandot enligt följande:
$ docker pull tomcat
Skapa en Hello World-applikation
Nästa steg är att skapa applikationen 'Hello World'. Börja med att skapa en katalog för att lagra din källkod och navigera in i katalogen.
$ mkdir Hej världen && CD Hej världen
Inuti rotkatalogen, skapa en webapp-mapp och skapa en WEB-INF-mapp i den.
Din katalogstruktur bör se ut så här:
Hej världen /└── webbapp
└── WEB-INF
3 kataloger, 0 filer
Navigera sedan in i WEB-INF-katalogen och skapa en 'web.xml'-fil med följande kod:
< webb-app xmlns = 'http://xmlns.jcp.org/xml/ns/javaee'
xmlns: xsi = 'http://www.w3.org/2001/XMLSchema-instance'
xsi: schemaPlats = 'http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd'
version = '4.0' >
< servlett >
< servlet-namn > Hej världen servlet-namn >
< servlet-klass > HelloWorldServlet servlet-klass >
servlett >
< servlet-mappning >
< servlet-namn > Hej världen servlet-namn >
< url-mönster >/ Hallå url-mönster >
servlet-mappning >
webb-app >
Spara filen och stäng redigeraren.
Tillbaka i ditt terminalfönster, skapa en 'HelloWorldServlet.java' i WEB-INF/classes-katalogen.
$ mkdir klasser$ Rör HelloWorldServlet.java
Lägg till innehållet i programmet som visas i följande:
importera javax.servlet.http. * ;
importera java.io. * ;
public class HelloWorldServlet utökar HttpServlet {
public void doGet ( HttpServletRequest-begäran, HttpServletResponse-svar )
kastar ServletException, IOException {
response.setContentType ( 'text/html' ) ;
PrintWriter out = response.getWriter ( ) ;
out.println ( '' ) ;
out.println ( '
out.println ( '
out.println ( '
Hej världen!
' ) ;out.println ( '