Docker ve Tomcat'i birleştirin

Docker Ve Tomcat I Birlestirin



Apache Tomcat, Apache Software Foundation (ASF) tarafından geliştirilen açık kaynaklı bir web sunucusu ve sunucu uygulaması kapsayıcısıdır.

Tomcat, Oracle'ın Java Servlet ve JavaServer Pages spesifikasyonlarını uygular ve Java kodunun çalıştırılması için saf bir Java HTTP web sunucusu ortamı sağlar.







Bu eğitimde, Tomcat'i konteyner olarak kullanarak bir Tomcat 'merhaba dünya' uygulamasını dağıtmak için Docker ve Tomcat'i nasıl birleştireceğimizi öğreneceğiz.



Gereksinimler:

Bu eğitimde sağlanan talimatları ve kodu başarıyla takip etmek ve kullanmak için aşağıdakilere sahip olduğunuzdan emin olun:



    1. Ana makinenize Docker Engine'i yüklediniz
    2. Java kodunuzu test etmek için makinenize Java JDK yüklendi (isteğe bağlı)
    3. Kaynak kodunu ve Docker yapılandırmalarını düzenlemek için bir metin düzenleyici

Verilen gereksinimler karşılandığında devam edebilir ve Docker kullanarak bir Tomcat uygulamasını nasıl dağıtacağımızı öğrenebiliriz.





Tomcat Görüntüsünü Docker'da çekin

Neyse ki bir Tomcat uygulamasını çalıştırmak için tüm araçları içeren bir temel imaj yapılandırmamıza gerek yok. Tomcat imajını Docker Hub'dan kolayca kullanabiliriz.

İmajı çekmek için şu komutu çalıştırabiliriz:



$ liman işçisi erkek kediyi çek


Merhaba Dünya Uygulaması Oluşturun

Bir sonraki adım “Merhaba Dünya” uygulamasını oluşturmaktır. Kaynak kodunuzu saklamak için bir dizin oluşturarak başlayın ve dizine gidin.

$ mkdir Selam Dünya && CD Selam Dünya


Kök dizinin içinde bir webapp klasörü oluşturun ve bunun içinde bir WEB-INF klasörü oluşturun.

Dizin yapınız şöyle görünmelidir:

Selam Dünya /
└── web uygulaması
└── WEB-INF

3 dizinler, 0 Dosyalar


Daha sonra WEB-INF dizinine gidin ve aşağıdaki kodla bir “web.xml” dosyası oluşturun:

< ?xml versiyon = '1.0' kodlama = 'UTF-8' ? >
< internet uygulaması XML'ler = 'http://xmlns.jcp.org/xml/ns/javaee'
XML'ler: xsı = 'http://www.w3.org/2001/XMLSchema-instance'
xsi: şemaKonumu = 'http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd'
versiyon = '4.0' >
< sunucu uygulaması >
< sunucu uygulaması adı > Selam Dünya sunucu uygulaması adı >
< servlet sınıfı > MerhabaDünyaServlet servlet sınıfı >
sunucu uygulaması >
< sunucu uygulaması eşlemesi >
< sunucu uygulaması adı > Selam Dünya sunucu uygulaması adı >
< URL modeli >/ Merhaba URL modeli >
sunucu uygulaması eşlemesi >
internet uygulaması >


Dosyayı kaydedin ve düzenleyiciyi kapatın.

Terminal pencerenize geri döndüğünüzde, WEB-INF/classes dizini içinde bir “HelloWorldServlet.java” oluşturun.

$ mkdir sınıflar
$ dokunmak MerhabaDünyaServlet.java


Uygulamanın içeriğini aşağıda gösterildiği gibi ekleyin:

javax.servlet'i içe aktarın. * ;
javax.servlet.http'yi içe aktarın. * ;
Java.io'yu içe aktarın. * ;

genel sınıf HelloWorldServlet, HttpServlet'i genişletiyor {
genel geçersiz doGet ( HttpServletRequest isteği, HttpServletResponse yanıtı )
ServletException, IOException'ı atar {
yanıt.setContentType ( 'metin/html' ) ;
PrintWriter çıkışı = yanıt.getWriter ( ) ;
out.println ( '' ) ;
out.println ( 'Merhaba Dünya Servlet' ) ;
out.println ( '' ) ;
out.println ( '

Merhaba Dünya!

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


Bu, 'Merhaba dünya' yazan temel bir Tomcat servlet'i oluşturur.



Dockerfile'ı tanımlayın

Bizim için bir sonraki adım, “Merhaba Dünya” uygulamamızı içeren özel bir görüntü oluşturmak için Dockerfile'ı tanımlamaktır.

Kök dizinin içinde “Dockerfile” adında yeni bir dosya oluşturun:







$ dokunmak ~ / Selam Dünya / Docker dosyası


Dosyayı düzenleyin ve yapılandırmayı aşağıdaki gibi ekleyin:

# Tomcat temel görüntüsünü ayarla
Tomcat'tan:en son

# Merhaba Dünya uygulamasını Tomcat webapps dizinine kopyalayın
KOPYALA . / internet uygulaması / usr / yerel / erkek kedi / ağ uygulamaları / uygulamam
# Tomcat için 8080 numaralı bağlantı noktasını açığa çıkarın
ORTAYA ÇIKARMAK 8080


Dizin düzeni aşağıdaki gibi olmalıdır:

Selam Dünya
├── Docker dosyası
└── web uygulaması
└── WEB-INF
├── sınıflar
│   └── HelloWorldServlet.java
└── web.xml

4 dizinler, 3 Dosyalar

İmajı Oluşturun

Daha sonra, aşağıdaki komutta gösterildiği gibi özel Tomcat görüntüsünü oluşturuyoruz:

$ Liman işçisi yapısı -T Tomcat uygulaması


Konteyneri Çalıştır

İmajımız hazır olduğunda aşağıdaki komutu kullanarak konteyneri imajdan çalıştırabiliriz:

$ liman işçisi koşusu -D -P 8080 : 8080 --isim Tomcat-konteyner Tomcat-uygulaması


Bu, Tomcat kapsayıcısını önceki adımda oluşturduğumuz Tomcat-app görüntüsünden oluşturmalı ve onu ana makinedeki 8080 numaralı bağlantı noktasına bağlamalıdır.

Uygulamaya Erişim

Bir web tarayıcısı açın ve şuraya gidin: . “Merhaba Dünya!” tarayıcınızda görüntülenen mesaj.

Çözüm

Tebrikler! Dockerlı Tomcat kapsayıcısında bir 'Merhaba Dünya' uygulamasını başarıyla dağıttınız.