Gabungkan Docker dan Tomcat

Gabungkan Docker Dan Tomcat



Apache Tomcat ialah pelayan web sumber terbuka dan bekas servlet yang dibangunkan oleh Apache Software Foundation (ASF).

Tomcat melaksanakan spesifikasi Java Servlet dan JavaServer Pages daripada Oracle dan ia menyediakan persekitaran pelayan web HTTP Java tulen untuk kod Java dijalankan.







Dalam tutorial ini, kita akan belajar cara menggabungkan Docker dan Tomcat untuk menggunakan aplikasi 'hello world' Tomcat menggunakan Tomcat sebagai bekas.



Keperluan:

Untuk berjaya mengikuti dan menggunakan arahan dan kod yang disediakan dalam tutorial ini, pastikan anda mempunyai perkara berikut:



    1. Enjin Docker dipasang pada mesin hos anda
    2. Memasang Java JDK pada mesin anda untuk menguji kod Java anda (pilihan)
    3. Penyunting teks untuk mengedit kod sumber dan konfigurasi Docker

Dengan keperluan yang diberikan dipenuhi, kami boleh meneruskan dan mempelajari cara menggunakan aplikasi Tomcat menggunakan Docker.





Tarik Imej Tomcat dalam Docker

Nasib baik, kami tidak perlu mengkonfigurasi imej asas yang mengandungi semua alat untuk menjalankan aplikasi Tomcat. Kita hanya boleh menggunakan imej Tomcat dari Docker Hub.

Untuk menarik imej, kita boleh menjalankan arahan seperti berikut:



$ docker tarik tomcat


Buat Aplikasi Hello World

Langkah seterusnya ialah mencipta aplikasi 'Hello World'. Mulakan dengan mencipta direktori untuk menyimpan kod sumber anda dan navigasi ke dalam direktori.

$ mkdir Hai dunia && cd Hai dunia


Di dalam direktori akar, buat folder aplikasi web dan buat folder WEB-INF di dalamnya.

Struktur direktori anda sepatutnya kelihatan seperti ini:

Hai dunia /
└── aplikasi web
└── WEB-INF

3 direktori, 0 fail


Seterusnya, navigasi ke dalam direktori WEB-INF dan buat fail 'web.xml' dengan kod berikut:

< ?xml versi = '1.0' pengekodan = 'UTF-8' ? >
< aplikasi web 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'
versi = '4.0' >
< servlet >
< nama-servlet > Hai dunia nama-servlet >
< servlet-class > HelloWorldServlet servlet-class >
servlet >
< pemetaan servlet >
< nama-servlet > Hai dunia nama-servlet >
< corak url >/ hello corak url >
pemetaan servlet >
aplikasi web >


Simpan fail dan tutup editor.

Kembali ke Tetingkap terminal anda, buat 'HelloWorldServlet.java' di dalam direktori WEB-INF/classes.

$ mkdir kelas
$ sentuh HelloWorldServlet.java


Tambah kandungan aplikasi seperti yang ditunjukkan dalam berikut:

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

kelas awam HelloWorldServlet memanjangkan HttpServlet {
kekosongan awam doGet ( Permintaan HttpServletRequest, respons HttpServletResponse )
membuang ServletException, IOException {
response.setContentType ( 'teks/html' ) ;
PrintWriter keluar = response.getWriter ( ) ;
keluar.println ( '' ) ;
keluar.println ( 'Hello World Servlet' ) ;
keluar.println ( ' ' ) ;
keluar.println ( '

Helo, Dunia!

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


Ini menyediakan servlet Tomcat asas yang mencetak 'Hello world'.



Tentukan fail Docker

Langkah seterusnya untuk kami ialah mentakrifkan Dockerfile untuk membina imej tersuai yang merangkumi aplikasi 'Hello World' kami.

Di dalam direktori root, buat fail baharu yang dipanggil 'Dockerfile':







$ sentuh ~ / Hai dunia / Dockerfile


Edit fail dan tambah konfigurasi seperti berikut:

# tetapkan imej asas Tomcat
DARI tomcat:terkini

# Salin aplikasi Hello World ke direktori webapps Tomcat
SALINAN . / aplikasi web / usr / tempatan / kucing jantan / aplikasi web / myapp
# Dedahkan port 8080 untuk Tomcat
DEDAHKAN 8080


Anda sepatutnya mempunyai susun atur direktori seperti berikut:

Hai dunia
├── Fail Docker
└── aplikasi web
└── WEB-INF
├── kelas
│   └── HelloWorldServlet.java
└── web.xml

4 direktori, 3 fail

Bina Imej

Seterusnya, kami membina imej Tomcat tersuai seperti yang ditunjukkan dalam arahan berikut:

$ binaan buruh pelabuhan -t tomcat-app .


Jalankan Bekas

Sebaik sahaja kami menyediakan imej, kami boleh menjalankan bekas dari imej menggunakan arahan seperti berikut:

$ lari berlabuh -d -hlm 8080 : 8080 --nama tomcat-container tomcat-app


Ini sepatutnya membina bekas Tomcat daripada imej apl tomcat yang kami buat pada langkah sebelumnya dan mengikatnya pada port 8080 pada mesin hos.

Akses Aplikasi

Buka pelayar web dan navigasi ke . Anda sepatutnya melihat 'Hello, World!' mesej dipaparkan dalam penyemak imbas anda.

Kesimpulan

tahniah! Anda berjaya menggunakan aplikasi 'Hello World' dalam bekas Dockerized Tomcat.