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:
- Docker Engine đã được cài đặt trên máy chủ của bạn
- Đã 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)
- 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:
< ứ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.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 ( '
out.println ( '
out.println ( '
Xin chào Thế giới!
' ) ;out.println ( '