Združite Docker in Tomcat

Zdruzite Docker In Tomcat



Apache Tomcat je odprtokodni spletni strežnik in vsebnik servletov, ki ga je razvila Apache Software Foundation (ASF).

Tomcat izvaja specifikacije Java Servlet in JavaServer Pages iz Oracla in zagotavlja čisto okolje spletnega strežnika Java HTTP za izvajanje kode Java.







V tej vadnici se bomo naučili, kako združiti Docker in Tomcat za uvedbo aplikacije Tomcat »hello world« z uporabo Tomcata kot vsebnika.



Zahteve:

Če želite uspešno slediti in uporabljati navodila in kodo v tej vadnici, zagotovite, da imate naslednje:



    1. Nameščen Docker Engine na vašem gostiteljskem računalniku
    2. Nameščen Java JDK na vašem računalniku za testiranje kode Java (izbirno)
    3. Urejevalnik besedila za urejanje izvorne kode in konfiguracij Dockerja

Ko so dane zahteve izpolnjene, lahko nadaljujemo in se naučimo, kako namestiti aplikacijo Tomcat z uporabo Dockerja.





Potegnite sliko Tomcat v Docker

Na srečo nam ni treba konfigurirati osnovne slike, ki vsebuje vsa orodja za zagon aplikacije Tomcat. Lahko preprosto uporabimo sliko Tomcat iz Docker Huba.

Če želite potegniti sliko, lahko zaženemo ukaz na naslednji način:



$ docker pull tomcat


Ustvarite aplikacijo Hello World

Naslednji korak je izdelava aplikacije »Hello World«. Začnite tako, da ustvarite imenik za shranjevanje izvorne kode in se pomaknete v imenik.

$ mkdir Pozdravljen, svet && cd Pozdravljen, svet


Znotraj korenskega imenika ustvarite mapo webapp in v njej ustvarite mapo WEB-INF.

Vaša struktura imenika bi morala izgledati takole:

Pozdravljen, svet /
└── spletna aplikacija
└── SPLETNE INF

3 imeniki, 0 datoteke


Nato se pomaknite v imenik WEB-INF in ustvarite datoteko »web.xml« z naslednjo kodo:

< ?xml različica = '1,0' kodiranje = 'UTF-8' ? >
< spletna aplikacija 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'
različica = '4,0' >
< servlet >
< ime-servleta > Pozdravljen, svet ime-servleta >
< servlet-razred > HelloWorldServlet servlet-razred >
servlet >
< preslikava servleta >
< ime-servleta > Pozdravljen, svet ime-servleta >
< url-vzorec >/ zdravo url-vzorec >
preslikava servleta >
spletna aplikacija >


Shranite datoteko in zaprite urejevalnik.

V terminalskem oknu ustvarite »HelloWorldServlet.java« znotraj imenika WEB-INF/classes.

$ mkdir razredi
$ dotik HelloWorldServlet.java


Dodajte vsebino aplikacije, kot je prikazano spodaj:

uvozi javax.servlet. * ;
uvozi javax.servlet.http. * ;
uvozi java.io. * ;

javni razred HelloWorldServlet razširja HttpServlet {
public void doGet ( Zahteva HttpServletRequest, odgovor HttpServletResponse )
vrže izjemo ServletException, IOException {
response.setContentType ( 'besedilo/html' ) ;
PrintWriter out = response.getWriter ( ) ;
ven.println ( '' ) ;
ven.println ( 'Hello World Servlet' ) ;
ven.println ( '' ) ;
ven.println ( '

Pozdravljen, svet!

'
) ;
ven.println ( '' ) ;
}
}


To nastavi osnovni programček Tomcat, ki natisne »Hello world«.



Definirajte Dockerfile

Naslednji korak za nas je definiranje datoteke Dockerfile za izdelavo slike po meri, ki vključuje našo aplikacijo »Hello World«.

Znotraj korenskega imenika ustvarite novo datoteko z imenom »Dockerfile«:







$ dotik ~ / Pozdravljen, svet / Dockerfile


Uredite datoteko in dodajte konfiguracijo, kot sledi:

# nastavite osnovno sliko Tomcat
OD tomcat: najnovejše

# Kopirajte aplikacijo Hello World v imenik Tomcat webapps
KOPIRATI . / spletna aplikacija / usr / lokalni / mačka / spletne aplikacije / myapp
# Razkrij vrata 8080 za Tomcat
IZPOSTITE 8080


Postavitev imenika bi morala biti naslednja:

Pozdravljen, svet
├── Dockerfile
└── spletna aplikacija
└── SPLETNE INF
├── razredi
│   └── HelloWorldServlet.java
└── web.xml

4 imeniki, 3 datoteke

Zgradite sliko

Nato zgradimo sliko Tomcat po meri, kot je prikazano v naslednjem ukazu:

$ gradnjo dockerja -t tomcat-app.


Zaženite posodo

Ko imamo sliko pripravljeno, lahko zaženemo vsebnik iz slike z naslednjim ukazom:

$ docker run -d -str 8080 : 8080 --ime tomcat-vsebnik tomcat-app


To bi moralo zgraditi vsebnik Tomcat iz slike aplikacije tomcat, ki smo jo ustvarili v prejšnjem koraku, in ga povezati z vrati 8080 na gostiteljskem računalniku.

Dostop do aplikacije

Odprite spletni brskalnik in se pomaknite do . Videti bi morali 'Hello, World!' sporočilo, prikazano v vašem brskalniku.

Zaključek

čestitke! Uspešno ste razmestili aplikacijo »Hello World« v vsebniku Dockerized Tomcat.