Apache Tomcat er en åpen kildekode-nettserver og servletbeholder utviklet av Apache Software Foundation (ASF).
Tomcat implementerer Java Servlet- og JavaServer Pages-spesifikasjonene fra Oracle, og det gir et rent Java HTTP-nettservermiljø for Java-koden å kjøre i.
I denne opplæringen lærer vi hvordan du kombinerer Docker og Tomcat for å distribuere en Tomcat 'hello world'-applikasjon ved å bruke Tomcat som en beholder.
Krav:
For å lykkes med å følge og bruke instruksjonene og koden i denne opplæringen, sørg for at du har følgende:
- Installert Docker Engine på vertsmaskinen din
- Installert Java JDK på maskinen din for å teste Java-koden (valgfritt)
- En tekstredigerer for å redigere kildekoden og Docker-konfigurasjoner
Med de gitte kravene oppfylt, kan vi fortsette og lære hvordan du distribuerer en Tomcat-app ved hjelp av Docker.
Trekk Tomcat-bildet i Docker
Heldigvis trenger vi ikke å konfigurere et basisbilde som inneholder alle verktøyene for å kjøre en Tomcat-applikasjon. Vi kan ganske enkelt bruke Tomcat-bildet fra Docker Hub.
For å trekke bildet kan vi kjøre kommandoen som følger:
$ docker pull tomcat
Lag en Hello World-applikasjon
Det neste trinnet er å lage 'Hello World'-applikasjonen. Start med å lage en katalog for å lagre kildekoden din og naviger inn i katalogen.
$ mkdir Hei Verden && cd Hei Verden
Inne i rotkatalogen oppretter du en webapp-mappe og oppretter en WEB-INF-mappe i den.
Katalogstrukturen din skal se slik ut:
Hei Verden /└── nettapp
└── WEB-INF
3 kataloger, 0 filer
Deretter navigerer du inn i WEB-INF-katalogen og oppretter en 'web.xml'-fil med følgende kode:
< web-app xmlns = 'http://xmlns.jcp.org/xml/ns/javaee'
xmlns: xsi = 'http://www.w3.org/2001/XMLSchema-instance'
xsi: skjemaPlassering = 'http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd'
versjon = '4.0' >
< servlet >
< servlet-navn > Hei Verden servlet-navn >
< servlet-klassen > HelloWorldServlet servlet-klassen >
servlet >
< servlet-mapping >
< servlet-navn > Hei Verden servlet-navn >
< url-mønster >/ Hallo url-mønster >
servlet-mapping >
web-app >
Lagre filen og lukk redigeringsprogrammet.
Tilbake i terminalvinduet ditt, lag en 'HelloWorldServlet.java' i WEB-INF/classes-katalogen.
$ mkdir klasser$ ta på HelloWorldServlet.java
Legg til innholdet i applikasjonen som vist i følgende:
importer javax.servlet.http. * ;
importer java.io. * ;
offentlig klasse HelloWorldServlet utvider HttpServlet {
offentlig void doGet ( HttpServletRequest-forespørsel, HttpServletResponse-svar )
kaster ServletException, IOException {
response.setContentType ( 'tekst/html' ) ;
PrintWriter out = response.getWriter ( ) ;
ut.println ( '' ) ;
ut.println ( '
ut.println ( «
ut.println ( '
Hei verden!
' ) ;ut.println ( '