Gabungkan Docker dan Tomcat

Gabungkan Docker Dan Tomcat



Apache Tomcat adalah server web sumber terbuka dan wadah servlet yang dikembangkan oleh Apache Software Foundation (ASF).

Tomcat mengimplementasikan Java Servlet dan spesifikasi JavaServer Pages dari Oracle dan menyediakan lingkungan server web HTTP Java murni untuk menjalankan kode Java.







Dalam tutorial ini, kita akan mempelajari cara menggabungkan Docker dan Tomcat untuk menerapkan aplikasi Tomcat “hello world” menggunakan Tomcat sebagai container.



Persyaratan:

Agar berhasil mengikuti dan menggunakan instruksi dan kode yang disediakan dalam tutorial ini, pastikan Anda memiliki hal berikut:



    1. Menginstal Docker Engine di mesin host Anda
    2. Menginstal Java JDK di mesin Anda untuk menguji kode Java Anda (opsional)
    3. Editor teks untuk mengedit kode sumber dan konfigurasi Docker

Setelah persyaratan yang diberikan terpenuhi, kita dapat melanjutkan dan mempelajari cara menerapkan aplikasi Tomcat menggunakan Docker.





Tarik Gambar Tomcat di Docker

Untungnya, kita tidak perlu mengkonfigurasi gambar dasar yang berisi semua alat untuk menjalankan aplikasi Tomcat. Kita cukup menggunakan image Tomcat dari Docker Hub.

Untuk menarik gambarnya, kita dapat menjalankan perintah sebagai berikut:



$ buruh pelabuhan menarik kucing jantan


Buat Aplikasi Hello World

Langkah selanjutnya adalah membuat aplikasi “Hello World”. Mulailah dengan membuat direktori untuk menyimpan kode sumber Anda dan navigasikan ke direktori tersebut.

$ mkdir Halo Dunia && CD Halo Dunia


Di dalam direktori root, buat folder webapp dan buat folder WEB-INF di dalamnya.

Struktur direktori Anda akan terlihat seperti ini:

Halo Dunia /
└── aplikasi web
└── WEB-INF

3 direktori, 0 file


Selanjutnya, navigasikan ke direktori WEB-INF dan buat file “web.xml” dengan kode berikut:

< ?xml Versi: kapan = '1.0' pengkodean = 'UTF-8' ? >
< aplikasi website xmlns = 'http://xmlns.jcp.org/xml/ns/javaee'
xmlns: xsi = 'http://www.w3.org/2001/XMLSchema-instance'
xsi: skemaLokasi = 'http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd'
Versi: kapan = '4.0' >
< servlet >
< nama-servlet > Halo Dunia nama-servlet >
< kelas servlet > HaloWorldServlet kelas servlet >
servlet >
< pemetaan servlet >
< nama-servlet > Halo Dunia nama-servlet >
< pola-url >/ Halo pola-url >
pemetaan servlet >
aplikasi website >


Simpan file dan tutup editor.

Kembali ke jendela terminal Anda, buatlah “HelloWorldServlet.java” di dalam direktori WEB-INF/classes.

$ mkdir kelas
$ menyentuh HaloWorldServlet.java


Tambahkan konten aplikasi seperti yang ditunjukkan berikut ini:

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

kelas publik HelloWorldServlet memperluas HttpServlet {
kekosongan publik doGet ( Permintaan HttpServletRequest, respons HttpServletResponse )
melempar ServletException, IOException {
respon.setContentType ( 'teks/html' ) ;
PrintWriter keluar = respon.getWriter ( ) ;
keluar.println ( '' ) ;
keluar.println ( 'Halo Servlet Dunia' ) ;
keluar.println ( '' ) ;
keluar.println ( '

Halo, Dunia!

'
) ;
keluar.println ( '' ) ;
}
}


Ini menyiapkan servlet Tomcat dasar yang mencetak “Hello world”.



Tentukan Dockerfilenya

Langkah selanjutnya bagi kita adalah mendefinisikan Dockerfile untuk membuat image khusus yang menyertakan aplikasi “Hello World” kita.

Di dalam direktori root, buat file baru bernama “Dockerfile”:







$ menyentuh ~ / Halo Dunia / file buruh pelabuhan


Edit file dan tambahkan konfigurasi sebagai berikut:

# atur gambar dasar Tomcat
DARI kucing jantan:terbaru

# Copy aplikasi Hello World ke direktori webapps Tomcat
SALINAN. / aplikasi website / usr / lokal / kucing jantan / aplikasi web / aplikasi saya
# Ekspos port 8080 untuk Tomcat
MEMBUKA 8080


Anda harus memiliki tata letak direktori sebagai berikut:

Halo Dunia
├── File Docker
└── aplikasi web
└── WEB-INF
├── kelas
│   └── HelloWorldServlet.java
└── web.xml

4 direktori, 3 file

Bangun Citra

Selanjutnya, kita membuat image Tomcat khusus seperti yang ditunjukkan pada perintah berikut:

$ membangun buruh pelabuhan -T aplikasi kucing jantan.


Jalankan Kontainer

Setelah gambarnya siap, kita dapat menjalankan container dari gambar tersebut menggunakan perintah sebagai berikut:

$ menjalankan buruh pelabuhan -D -P 8080 : 8080 --nama aplikasi tomcat-container tomcat


Ini harus membangun wadah Tomcat dari gambar aplikasi Tomcat yang kita buat pada langkah sebelumnya dan mengikatnya ke port 8080 pada mesin host.

Akses Aplikasi

Buka browser web dan navigasikan ke . Anda akan melihat pesan “Halo, Dunia!” pesan yang ditampilkan di browser Anda.

Kesimpulan

Selamat! Anda berhasil menerapkan aplikasi 'Hello World' dalam container Tomcat yang di-docker.