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í:
- Nainstalovaný Docker Engine na vašem hostitelském počítači
- Nainstalovaný Java JDK na vašem počítači pro testování kódu Java (volitelné)
- 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:
< 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.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 ( '
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ě:
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:
├── 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.