Yhdistä Docker ja Tomcat

Yhdista Docker Ja Tomcat



Apache Tomcat on avoimen lähdekoodin verkkopalvelin ja servlet-säilö, jonka on kehittänyt Apache Software Foundation (ASF).

Tomcat toteuttaa Oraclen Java Servlet- ja JavaServer Pages -määritykset ja tarjoaa puhtaan Java HTTP -verkkopalvelinympäristön Java-koodin suorittamista varten.







Tässä opetusohjelmassa opimme yhdistämään Dockerin ja Tomcatin Tomcatin 'hello world' -sovelluksen käyttöönottamiseksi käyttämällä Tomcatia konttina.



Vaatimukset:

Jotta voit noudattaa ja käyttää tässä opetusohjelmassa annettuja ohjeita ja koodia onnistuneesti, varmista, että sinulla on seuraavat asiat:



    1. Docker Engine asennettu isäntäkoneellesi
    2. Asennettu Java JDK koneellesi Java-koodin testaamiseksi (valinnainen)
    3. Tekstieditori lähdekoodin ja Docker-kokoonpanojen muokkaamiseen

Kun annetut vaatimukset täyttyvät, voimme jatkaa ja oppia ottamaan Tomcat-sovelluksen käyttöön Dockerin avulla.





Vedä Tomcat-kuva Dockerissa

Onneksi meidän ei tarvitse määrittää peruskuvaa, joka sisältää kaikki työkalut Tomcat-sovelluksen suorittamiseen. Voimme yksinkertaisesti käyttää Tomcat-kuvaa Docker Hubista.

Voit vetää kuvan suorittamalla komennon seuraavasti:



$ telakka vetää tomca


Luo Hello World -sovellus

Seuraava vaihe on 'Hello World' -sovelluksen luominen. Aloita luomalla hakemisto lähdekoodin tallentamista varten ja siirry hakemistoon.

$ mkdir Hei maailma && CD Hei maailma


Luo juurihakemistoon webapp-kansio ja luo siihen WEB-INF-kansio.

Hakemistosi rakenteen pitäisi näyttää tältä:

Hei maailma /
└── verkkosovellus
└── WEB-INF

3 hakemistoja, 0 tiedostot


Siirry seuraavaksi WEB-INF-hakemistoon ja luo 'web.xml' -tiedosto seuraavalla koodilla:

< ?xml versio = '1.0' koodaus = 'UTF-8' ? >
< web-sovellus 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'
versio = '4.0' >
< servlet >
< servlet-nimi > Hei maailma servlet-nimi >
< servlet-luokka > HelloWorldServlet servlet-luokka >
servlet >
< servlet-kartoitus >
< servlet-nimi > Hei maailma servlet-nimi >
< url-malli >/ Hei url-malli >
servlet-kartoitus >
web-sovellus >


Tallenna tiedosto ja sulje editori.

Takaisin pääteikkunaan luo 'HelloWorldServlet.java' WEB-INF/classes-hakemistoon.

$ mkdir luokat
$ kosketus HelloWorldServlet.java


Lisää sovelluksen sisältö seuraavan kuvan mukaisesti:

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

julkinen luokka HelloWorldServlet laajentaa HttpServletiä {
julkinen void doGet ( HttpServletRequest-pyyntö, HttpServletResponse-vastaus )
heittää ServletExceptionin, IOExceptionin {
vastaus.setContentType ( 'teksti/html' ) ;
PrintWriter out = vastaus.getWriter ( ) ;
out.println ( '' ) ;
out.println ( 'Hello World Servlet' ) ;
out.println ( ' ' ) ;
out.println ( '

Hei, maailma!

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


Tämä määrittää Tomcat-perusservletin, joka tulostaa 'Hei maailma'.



Määritä Docker-tiedosto

Seuraava askel meille on määrittää Dockerfile luodaksemme mukautetun kuvan, joka sisältää 'Hello World' -sovelluksemme.

Luo juurihakemistoon uusi tiedosto nimeltä 'Dockerfile':







$ kosketus ~ / Hei maailma / Docker-tiedosto


Muokkaa tiedostoa ja lisää kokoonpano seuraavasti:

# aseta Tomcat-peruskuva
FROM tomcat: uusin

# Kopioi Hello World -sovellus Tomcatin webapps-hakemistoon
KOPIO . / verkkosovellus / usr / paikallinen / kollikissa / verkkosovellukset / myapp
# Näytä portti 8080 Tomcatille
PALJISTA 8080


Hakemiston asettelun pitäisi olla seuraava:

Hei maailma
├── Dockerfile
└── verkkosovellus
└── WEB-INF
├── luokat
│   └── HelloWorldServlet.java
└── web.xml

4 hakemistoja, 3 tiedostot

Rakenna kuva

Seuraavaksi rakennamme mukautetun Tomcat-kuvan seuraavan komennon mukaisesti:

$ telakkarakennelma -t tomcat-sovellus.


Suorita säilö

Kun kuva on valmis, voimme ajaa säilön kuvasta komennolla seuraavasti:

$ telakkajuoksu -d -s 8080 : 8080 --nimi tomcat-container tomcat-app


Tämän pitäisi rakentaa Tomcat-säilö edellisessä vaiheessa luomastamme tomcat-sovelluskuvasta ja sitoa se isäntäkoneen porttiin 8080.

Käytä sovellusta

Avaa verkkoselain ja siirry kohtaan . Sinun pitäisi nähdä 'Hei, maailma!' viesti näkyy selaimessasi.

Johtopäätös

Onnittelut! Otit onnistuneesti käyttöön Hello World -sovelluksen Dockerized Tomcat -säiliössä.