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:
- Menginstal Docker Engine di mesin host Anda
- Menginstal Java JDK di mesin Anda untuk menguji kode Java Anda (opsional)
- 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:
< 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.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 ( '
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:
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:
├── 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.