Zkombinujte Docker a Tomcat

Zkombinujte Docker A Tomcat



Apache Tomcat je open-source webový server a kontejner servletů vyvinutý Apache Software Foundation (ASF).

Tomcat implementuje specifikace Java Servlet a JavaServer Pages od společnosti Oracle a poskytuje čisté prostředí webového serveru Java HTTP pro spuštění kódu Java.







V tomto tutoriálu se naučíme, jak zkombinovat Docker a Tomcat za účelem nasazení aplikace Tomcat „hello world“ pomocí Tomcatu jako kontejneru.



Požadavky:

Chcete-li úspěšně dodržovat a používat pokyny a kód uvedený v tomto kurzu, ujistěte se, že máte následující:



    1. Nainstalovaný Docker Engine na vašem hostitelském počítači
    2. Nainstalovaný Java JDK na vašem počítači pro testování kódu Java (volitelné)
    3. Textový editor pro úpravu zdrojového kódu a konfigurace Dockeru

Po splnění daných požadavků můžeme pokračovat a naučit se nasadit aplikaci Tomcat pomocí Dockeru.





Vytáhněte obrázek Tomcat v Dockeru

Naštěstí nemusíme konfigurovat základní bitovou kopii, která obsahuje všechny nástroje ke spuštění aplikace Tomcat. Můžeme jednoduše použít obrázek Tomcat z Docker Hub.

Chcete-li stáhnout obrázek, můžeme spustit příkaz takto:



$ docker vytáhnout kocour


Vytvořte aplikaci Hello World

Dalším krokem je vytvoření aplikace „Hello World“. Začněte vytvořením adresáře pro uložení zdrojového kódu a přejděte do adresáře.

$ mkdir Ahoj světe && CD Ahoj světe


V kořenovém adresáři vytvořte složku webapp a vytvořte v ní složku WEB-INF.

Vaše adresářová struktura by měla vypadat takto:

Ahoj světe /
└── webová aplikace
└── WEB-INF

3 adresáře, 0 soubory


Dále přejděte do adresáře WEB-INF a vytvořte soubor „web.xml“ s následujícím kódem:

< ?xml verze = '1,0' kódování = 'UTF-8' ? >
< webová aplikace 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'
verze = '4.0' >
< servlet >
< název-servletu > Ahoj světe název-servletu >
< třídy servletů > HelloWorldServlet třídy servletů >
servlet >
< mapování servletů >
< název-servletu > Ahoj světe název-servletu >
< vzor adresy URL >/ Ahoj vzor adresy URL >
mapování servletů >
webová aplikace >


Uložte soubor a zavřete editor.

Zpět v okně terminálu vytvořte „HelloWorldServlet.java“ v adresáři WEB-INF/classes.

$ mkdir třídy
$ dotek HelloWorldServlet.java


Přidejte obsah aplikace, jak je znázorněno v následujícím:

import javax.servlet. * ;
import javax.servlet.http. * ;
importovat java.io. * ;

public class HelloWorldServlet rozšiřuje HttpServlet {
public void doGet ( Požadavek HttpServletRequest, odpověď HttpServletResponse )
vyvolá výjimku ServletException, IOException {
response.setContentType ( 'text/html' ) ;
PrintWriter out = response.getWriter ( ) ;
out.println ( '' ) ;
out.println ( 'Hello World Servlet' ) ;
out.println ( ' ' ) ;
out.println ( '

Ahoj, světe!

'
) ;
out.println ( '' ) ;
}
}


Tím se nastaví základní servlet Tomcat, který vytiskne „Hello world“.



Definujte Dockerfile

Dalším krokem pro nás je definování Dockerfile pro vytvoření vlastního obrázku, který obsahuje naši aplikaci „Hello World“.

V kořenovém adresáři vytvořte nový soubor s názvem „Dockerfile“:







$ dotek ~ / Ahoj světe / Dockerfile


Upravte soubor a přidejte konfiguraci následovně:

# nastavit základní obrázek Tomcat
OD kocourka:nejnovější

# Zkopírujte aplikaci Hello World do adresáře webových aplikací Tomcat
KOPÍROVAT . / webová aplikace / usr / místní / kocour / webové aplikace / moje aplikace
# Vystavte port 8080 pro Tomcat
ODHALIT 8080


Měli byste mít rozložení adresáře takto:

Ahoj světe
├── Dockerfile
└── webová aplikace
└── WEB-INF
├── třídy
│   └── HelloWorldServlet.java
└── web.xml

4 adresáře, 3 soubory

Sestavte obraz

Dále vytvoříme vlastní obrázek Tomcat, jak je znázorněno v následujícím příkazu:

$ sestavení dockeru -t aplikace kocour.


Spusťte kontejner

Jakmile máme obrázek připravený, můžeme spustit kontejner z obrázku pomocí příkazu takto:

$ docker spustit -d -p 8080 : 8080 --název Tomcat-container Tomcat-app


To by mělo vytvořit kontejner Tomcat z obrazu aplikace tomcat, který jsme vytvořili v předchozím kroku, a svázat jej s portem 8080 na hostitelském počítači.

Přístup k aplikaci

Otevřete webový prohlížeč a přejděte na . Měli byste vidět 'Ahoj, světe!' zpráva zobrazená ve vašem prohlížeči.

Závěr

Gratulujeme! Úspěšně jste nasadili aplikaci „Hello World“ v kontejneru Tomcat s dockerem.