Kết hợp Docker và Tomcat

Ket Hop Docker Va Tomcat



Apache Tomcat là một máy chủ web và thùng chứa servlet mã nguồn mở được phát triển bởi Quỹ phần mềm Apache (ASF).

Tomcat triển khai các đặc tả Java Servlet và JavaServer Pages từ Oracle và nó cung cấp môi trường máy chủ web Java HTTP thuần túy để mã Java chạy trong đó.







Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách kết hợp Docker và Tomcat để triển khai ứng dụng “hello world” Tomcat bằng cách sử dụng Tomcat làm vùng chứa.



Yêu cầu:

Để làm theo và sử dụng thành công các hướng dẫn cũng như mã được cung cấp trong hướng dẫn này, hãy đảm bảo rằng bạn có những điều sau:



    1. Docker Engine đã được cài đặt trên máy chủ của bạn
    2. Đã cài đặt Java JDK trên máy của bạn để kiểm tra mã Java của bạn (tùy chọn)
    3. Trình soạn thảo văn bản để chỉnh sửa mã nguồn và cấu hình Docker

Khi đáp ứng các yêu cầu nhất định, chúng ta có thể tiến hành và tìm hiểu cách triển khai ứng dụng Tomcat bằng Docker.





Kéo hình ảnh Tomcat trong Docker

May mắn thay, chúng ta không cần định cấu hình hình ảnh cơ sở chứa tất cả các công cụ để chạy ứng dụng Tomcat. Chúng ta có thể chỉ cần sử dụng hình ảnh Tomcat từ Docker Hub.

Để kéo hình ảnh, chúng ta có thể chạy lệnh như sau:



$ docker kéo tomcat


Tạo ứng dụng Hello World

Bước tiếp theo là tạo ứng dụng “Hello World”. Bắt đầu bằng cách tạo một thư mục để lưu trữ mã nguồn của bạn và điều hướng vào thư mục đó.

$ mkdir Chào thế giới && đĩa CD Chào thế giới


Trong thư mục gốc, tạo thư mục webapp và tạo thư mục WEB-INF trong đó.

Cấu trúc thư mục của bạn sẽ trông như thế này:

Chào thế giới /
└── ứng dụng web
└── WEB-INF

3 thư mục, 0 các tập tin


Tiếp theo, điều hướng vào thư mục WEB-INF và tạo tệp “web.xml” với mã sau:

< ?xml phiên bản = '1.0' mã hóa = 'UTF-8' ? >
< ứng dụng web xmlns = 'http://xmlns.jcp.org/xml/ns/javaee'
xmlns: xsi = 'http://www.w3.org/2001/XMLSchema-instance'
xsi: lược đồVị trí = 'http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd'
phiên bản = '4.0' >
< servlet >
< tên servlet > Chào thế giới tên servlet >
< lớp servlet > HelloWorldServlet lớp servlet >
servlet >
< ánh xạ servlet >
< tên servlet > Chào thế giới tên servlet >
< mẫu url >/ Xin chào mẫu url >
ánh xạ servlet >
ứng dụng web >


Lưu tệp và đóng trình chỉnh sửa.

Quay lại Cửa sổ terminal của bạn, tạo một “HelloWorldServlet.java” bên trong thư mục WEB-INF/classes.

$ mkdir các lớp học
$ chạm HelloWorldServlet.java


Thêm nội dung của ứng dụng như sau:

nhập javax.servlet. * ;
nhập javax.servlet.http. * ;
nhập java.io. * ;

lớp công khai HelloWorldServlet mở rộng HttpServlet {
public void doGet ( Yêu cầu HttpServletRequest, phản hồi HttpServletResponse )
ném ra ngoại lệ ServletException, IOException {
phản hồi.setContentType ( 'văn bản/html' ) ;
PrintWriter out = reply.getWriter ( ) ;
out.println ( '' ) ;
out.println ( 'Xin chào thế giới Servlet' ) ;
out.println ( '' ) ;
out.println ( '

Xin chào Thế giới!

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


Điều này thiết lập một servlet Tomcat cơ bản in ra dòng chữ “Xin chào thế giới”.



Xác định tệp Docker

Bước tiếp theo của chúng ta là xác định Dockerfile để xây dựng một hình ảnh tùy chỉnh bao gồm ứng dụng “Hello World” của chúng ta.

Trong thư mục gốc, tạo một tệp mới có tên “Dockerfile”:







$ chạm ~ / Chào thế giới / Dockerfile


Chỉnh sửa tập tin và thêm cấu hình như sau:

# đặt hình ảnh cơ sở Tomcat
TỪ tomcat: mới nhất

# Sao chép ứng dụng Hello World vào thư mục ứng dụng web Tomcat
SAO CHÉP . / ứng dụng web / sử dụng / địa phương / con mèo tom / ứng dụng web / ứng dụng của tôi
# Lộ cổng 8080 cho Tomcat
PHƠI RA 8080


Bạn nên có bố cục thư mục như sau:

Chào thế giới
├── Tệp Docker
└── ứng dụng web
└── WEB-INF
├── lớp học
│   └── HelloWorldServlet.java
└── web.xml

4 thư mục, 3 các tập tin

Xây dựng hình ảnh

Tiếp theo, chúng ta xây dựng hình ảnh Tomcat tùy chỉnh như trong lệnh sau:

$ docker xây dựng -t ứng dụng tomcat .


Chạy vùng chứa

Khi đã có hình ảnh sẵn sàng, chúng ta có thể chạy vùng chứa từ hình ảnh bằng lệnh như sau:

$ docker chạy -d -P 8080 : 8080 --tên tomcat-container tomcat-app


Điều này sẽ xây dựng vùng chứa Tomcat từ hình ảnh ứng dụng tomcat mà chúng ta đã tạo ở bước trước và liên kết nó với cổng 8080 trên máy chủ.

Truy cập ứng dụng

Mở trình duyệt web và điều hướng đến . Bạn sẽ thấy thông báo “Xin chào, Thế giới!” thông báo hiển thị trong trình duyệt của bạn.

Phần kết luận

Chúc mừng! Bạn đã triển khai thành công ứng dụng “Hello World” trong vùng chứa Tomcat được Dockerized.