Kombinirajte Docker i Tomcat

Kombinirajte Docker I Tomcat



Apache Tomcat je web poslužitelj otvorenog koda i kontejner servleta koji je razvila Apache Software Foundation (ASF).

Tomcat implementira Java Servlet i JavaServer Pages specifikacije iz Oraclea i pruža čisto okruženje Java HTTP web poslužitelja za pokretanje Java koda.







U ovom vodiču naučit ćemo kako kombinirati Docker i Tomcat za implementaciju Tomcat aplikacije 'hello world' koristeći Tomcat kao spremnik.



Zahtjevi:

Da biste uspješno slijedili i koristili upute i kôd koji se nalazi u ovom vodiču, provjerite imate li sljedeće:



    1. Instaliran Docker Engine na vašem glavnom računalu
    2. Instaliran Java JDK na vašem računalu za testiranje vašeg Java koda (izborno)
    3. Uređivač teksta za uređivanje izvornog koda i Docker konfiguracija

S ispunjenjem zadanih zahtjeva, možemo nastaviti i naučiti kako implementirati Tomcat aplikaciju pomoću Dockera.





Povucite Tomcat sliku u Docker

Srećom, ne moramo konfigurirati osnovnu sliku koja sadrži sve alate za pokretanje Tomcat aplikacije. Možemo jednostavno koristiti Tomcat sliku iz Docker Huba.

Da bismo povukli sliku, možemo pokrenuti naredbu na sljedeći način:



$ docker povući tomcat


Napravite aplikaciju Hello World

Sljedeći korak je izrada aplikacije “Hello World”. Započnite stvaranjem direktorija za pohranu vašeg izvornog koda i dođite do imenika.

$ mkdir Pozdrav svijete && CD Pozdrav svijete


Unutar korijenskog direktorija stvorite mapu webapp i unutar nje stvorite mapu WEB-INF.

Struktura vašeg imenika trebala bi izgledati ovako:

Pozdrav svijete /
└── web aplikacija
└── WEB-INF

3 imenici, 0 datoteke


Zatim idite u direktorij WEB-INF i izradite datoteku 'web.xml' sa sljedećim kodom:

< ?xml verzija = '1,0' kodiranje = 'UTF-8' ? >
< web-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'
verzija = '4,0' >
< servlet >
< ime-servleta > Pozdrav svijete ime-servleta >
< servlet-klasa > HelloWorldServlet servlet-klasa >
servlet >
< servlet-mapping >
< ime-servleta > Pozdrav svijete ime-servleta >
< url-uzorak >/ zdravo url-uzorak >
servlet-mapping >
web-aplikacija >


Spremite datoteku i zatvorite uređivač.

Vratite se u prozor terminala, stvorite 'HelloWorldServlet.java' unutar direktorija WEB-INF/classes.

$ mkdir klase
$ dodir HelloWorldServlet.java


Dodajte sadržaj aplikacije kao što je prikazano u nastavku:

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

javna klasa HelloWorldServlet proširuje HttpServlet {
javni void doGet ( HttpServletRequest zahtjev, HttpServletResponse odgovor )
izbacuje ServletException, IOException {
odgovor.setContentType ( 'tekst/html' ) ;
PrintWriter out = response.getWriter ( ) ;
van.println ( '' ) ;
van.println ( 'Hello World Servlet' ) ;
van.println ( '' ) ;
van.println ( '

Zdravo, svijete!

'
) ;
van.println ( '' ) ;
}
}


Ovo postavlja osnovni Tomcat servlet koji ispisuje 'Hello world'.



Definirajte Dockerfile

Sljedeći korak za nas je definiranje Dockerfilea za izradu prilagođene slike koja uključuje našu aplikaciju 'Hello World'.

Unutar korijenskog direktorija stvorite novu datoteku pod nazivom 'Dockerfile':







$ dodir ~ / Pozdrav svijete / Dockerfile


Uredite datoteku i dodajte konfiguraciju na sljedeći način:

# postavite Tomcat osnovnu sliku
OD mačka: najnovije

# Kopirajte aplikaciju Hello World u Tomcat webapps direktorij
KOPIRAJ . / webapp / usr / lokalni / mačak / web aplikacije / moja aplikacija
# Izloži port 8080 za Tomcat
IZLOŽITI 8080


Trebali biste imati sljedeći izgled imenika:

Pozdrav svijete
├── Docker datoteka
└── web aplikacija
└── WEB-INF
├── razreda
│   └── HelloWorldServlet.java
└── web.xml

4 imenici, 3 datoteke

Izgradite sliku

Zatim gradimo prilagođenu Tomcat sliku kao što je prikazano u sljedećoj naredbi:

$ docker build -t tomcat-aplikacija.


Pokrenite spremnik

Nakon što imamo sliku spremnu, možemo pokrenuti spremnik iz slike koristeći sljedeću naredbu:

$ docker run -d -str 8080 : 8080 --Ime tomcat-kontejner tomcat-aplikacija


Ovo bi trebalo izgraditi Tomcat spremnik iz slike tomcat-app koju smo stvorili u prethodnom koraku i vezati ga na priključak 8080 na glavnom računalu.

Pristupite aplikaciji

Otvorite web preglednik i idite na . Trebali biste vidjeti 'Hello, World!' poruka prikazana u vašem pregledniku.

Zaključak

Čestitamo! Uspješno ste implementirali aplikaciju 'Hello World' u Dockerized Tomcat spremnik.