Apache Tomcat je open-source webový server a kontajner servletov vyvinutý nadáciou Apache Software Foundation (ASF).
Tomcat implementuje špecifikácie Java Servlet a JavaServer Pages od spoločnosti Oracle a poskytuje čisté prostredie webového servera Java HTTP pre spustenie kódu Java.
V tomto návode sa naučíme, ako skombinovať Docker a Tomcat na nasadenie aplikácie Tomcat „hello world“ pomocou Tomcatu ako kontajnera.
Požiadavky:
Ak chcete úspešne dodržiavať a používať pokyny a kód uvedený v tomto návode, uistite sa, že máte nasledujúce:
- Na vašom hostiteľskom počítači je nainštalovaný Docker Engine
- Nainštalovaný Java JDK na vašom počítači na testovanie kódu Java (voliteľné)
- Textový editor na úpravu zdrojového kódu a konfigurácií Docker
Po splnení daných požiadaviek môžeme pokračovať a naučiť sa, ako nasadiť aplikáciu Tomcat pomocou Docker.
Vytiahnite obrázok Tomcat v Dockeri
Našťastie nemusíme konfigurovať základný obrázok, ktorý obsahuje všetky nástroje na spustenie aplikácie Tomcat. Môžeme jednoducho použiť obrázok Tomcat z Docker Hub.
Ak chcete stiahnuť obrázok, môžeme spustiť príkaz takto:
$ doker ťahať kocúr
Vytvorte aplikáciu Hello World
Ďalším krokom je vytvorenie aplikácie „Hello World“. Začnite vytvorením adresára na uloženie zdrojového kódu a prejdite do adresára.
$ mkdir ahoj_svet && cd ahoj_svet
V koreňovom adresári vytvorte priečinok webovej aplikácie a vytvorte v ňom priečinok WEB-INF.
Vaša adresárová štruktúra by mala vyzerať takto:
ahoj_svet /└── webová aplikácia
└── WEB-INF
3 adresáre, 0 súbory
Ďalej prejdite do adresára WEB-INF a vytvorte súbor „web.xml“ s nasledujúcim kódom:
< webová aplikácia 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'
verzia = '4.0' >
< servlet >
< názov-servletu > Ahoj Svet názov-servletu >
< triedy servletov > HelloWorldServlet triedy servletov >
servlet >
< mapovanie servletov >
< názov-servletu > Ahoj Svet názov-servletu >
< vzor adresy URL >/ Ahoj vzor adresy URL >
mapovanie servletov >
webová aplikácia >
Uložte súbor a zatvorte editor.
Späť v okne terminálu vytvorte súbor „HelloWorldServlet.java“ v adresári WEB-INF/classes.
$ mkdir triedy$ dotyk HelloWorldServlet.java
Pridajte obsah aplikácie, ako je znázornené v nasledujúcom texte:
importovať javax.servlet.http. * ;
importovať java.io. * ;
verejná trieda HelloWorldServlet rozširuje HttpServlet {
public void doGet ( Požiadavka HttpServletRequest, odpoveď HttpServletResponse )
vyhodí ServletException, IOException {
response.setContentType ( 'text/html' ) ;
PrintWriter out = response.getWriter ( ) ;
out.println ( '' ) ;
out.println ( '
out.println ( ' ' ) ;
out.println ( '
Ahoj, Svet!
' ) ;out.println ( '' ) ;
}
}
Tým sa nastaví základný servlet Tomcat, ktorý vytlačí „Hello world“.
Definujte Dockerfile
Ďalším krokom pre nás je definovanie súboru Dockerfile na vytvorenie vlastného obrázka, ktorý obsahuje našu aplikáciu „Hello World“.
V koreňovom adresári vytvorte nový súbor s názvom „Dockerfile“:
$ dotyk ~ / ahoj_svet / Dockerfile
Upravte súbor a pridajte konfiguráciu nasledovne:
OD kocúra:najnovšie
# Skopírujte aplikáciu Hello World do adresára webových aplikácií Tomcat
KOPÍROVAŤ . / webová aplikácia / usr / miestne / kocúr / webových aplikácií / moja aplikácia
# Odhaľte port 8080 pre Tomcat
VYSTAVIŤ 8080
Rozloženie adresára by ste mali mať takto:
├── Dockerfile
└── webová aplikácia
└── WEB-INF
├── triedy
│ └── HelloWorldServlet.java
└── web.xml
4 adresáre, 3 súbory
Zostavte si obraz
Ďalej vytvoríme vlastný obrázok Tomcat, ako je znázornené v nasledujúcom príkaze:
$ zostava dockera -t aplikácia kocúr.
Spustite kontajner
Keď máme obrázok pripravený, môžeme spustiť kontajner z obrázku pomocou príkazu takto:
$ docker spustiť -d -p 8080 : 8080 --názov Tomcat-container Tomcat-app
To by malo vytvoriť kontajner Tomcat z obrazu aplikácie tomcat, ktorý sme vytvorili v predchádzajúcom kroku, a naviazať ho na port 8080 na hostiteľskom počítači.
Prístup k aplikácii
Otvorte webový prehliadač a prejdite na . Mali by ste vidieť 'Ahoj, svet!' správa zobrazená vo vašom prehliadači.
Záver
Gratulujem! Úspešne ste nasadili aplikáciu „Hello World“ v kontajneri Tomcat s ukotvením.