Skombinujte Docker a Tomcat

Skombinujte Docker A Tomcat



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:



    1. Na vašom hostiteľskom počítači je nainštalovaný Docker Engine
    2. Nainštalovaný Java JDK na vašom počítači na testovanie kódu Java (voliteľné)
    3. 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:

< ?xml verzia = '1,0' kódovanie = 'UTF-8' ? >
< 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. * ;
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 ( 'Hello World Servlet' ) ;
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:

# nastaviť základný obrázok Tomcat
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:

ahoj_svet
├── 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.