Apache Tomcat הוא שרת אינטרנט ומיכל servlet בקוד פתוח שפותח על ידי Apache Software Foundation (ASF).
Tomcat מיישמת את Java Servlet ואת מפרטי JavaServer Pages מ-Oracle והוא מספק סביבת שרת אינטרנט Java HTTP טהורה עבור קוד ה-Java לרוץ בה.
במדריך זה, נלמד כיצד לשלב את Docker ו-Tomcat כדי לפרוס אפליקציית Tomcat 'hello world' באמצעות Tomcat כמיכל.
דרישות:
כדי לבצע בהצלחה את ההוראות ובקוד המסופקים במדריך זה ולהשתמש בו, ודא שיש לך את הדברים הבאים:
- התקנת Docker Engine במחשב המארח שלך
- התקנת Java JDK במחשב שלך כדי לבדוק את קוד ה-Java שלך (אופציונלי)
- עורך טקסט לעריכת קוד המקור ותצורות Docker
עם התקיימות הדרישות הנתונות, נוכל להמשיך וללמוד כיצד לפרוס אפליקציית Tomcat באמצעות Docker.
משוך את תמונת Tomcat ב-Docker
למרבה המזל, איננו צריכים להגדיר תמונת בסיס המכילה את כל הכלים להפעלת יישום Tomcat. אנחנו יכולים פשוט להשתמש בתמונת Tomcat מ- Docker Hub.
כדי למשוך את התמונה, נוכל להריץ את הפקודה כדלקמן:
$ docker pull tomcat
צור אפליקציית Hello World
השלב הבא הוא יצירת האפליקציה 'Hello World'. התחל ביצירת ספרייה לאחסון קוד המקור שלך ונווט אל הספרייה.
$ mkdir שלום עולם && CD שלום עולם
בתוך ספריית השורש, צור תיקיית webapp וצור בתוכה תיקיית WEB-INF.
מבנה הספריות שלך אמור להיראות כך:
שלום עולם /└── אפליקציה אינטרנטית
└── WEB-INF
3 ספריות, 0 קבצים
לאחר מכן, נווט אל ספריית WEB-INF וצור קובץ 'web.xml' עם הקוד הבא:
< אפליקציית אינטרנט 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'
גִרְסָה = '4.0' >
< סרבלט >
< שם servlet > שלום עולם שם servlet >
< מחלקה של servlet > HelloWorldServlet מחלקה של servlet >
סרבלט >
< מיפוי servlet >
< שם servlet > שלום עולם שם servlet >
< דפוס כתובת אתר >/ שלום דפוס כתובת אתר >
מיפוי servlet >
אפליקציה אינטרנט >
שמור את הקובץ וסגור את העורך.
בחזרה לחלון הטרמינל שלך, צור 'HelloWorldServlet.java' בתוך ספריית WEB-INF/classes.
$ mkdir שיעורים$ לגעת HelloWorldServlet.java
הוסף את התוכן של היישום כפי שמוצג להלן:
ייבוא javax.servlet.http. * ;
ייבוא java.io. * ;
class public HelloWorldServlet מרחיב את HttpServlet {
ריק ציבורי doGet ( בקשת HttpServletRequest, תגובת HttpServletResponse )
זורק ServletException, IOException {
response.setContentType ( 'טקסט/html' ) ;
PrintWriter out = response.getWriter ( ) ;
out.println ( '' ) ;
out.println ( '
out.println ( ' ' ) ;
out.println ( '
שלום עולם!
' ) ;out.println ( '' ) ;
}
}
זה מגדיר servlet בסיסי של Tomcat שמדפיס 'Hello world'.
הגדר את ה- Dockerfile
השלב הבא עבורנו הוא להגדיר את Dockerfile כדי לבנות תמונה מותאמת אישית הכוללת את אפליקציית 'Hello World' שלנו.
בתוך ספריית השורש, צור קובץ חדש בשם 'Dockerfile':
$ לגעת ~ / שלום עולם / Dockerfile
ערוך את הקובץ והוסף את התצורה באופן הבא:
מ-tomcat: האחרון
# העתק את אפליקציית Hello World לספריית האפליקציות של Tomcat
עותק . / webapp / usr / מְקוֹמִי / חתול חתול / אפליקציות אינטרנט / myapp
# חשוף יציאה 8080 עבור Tomcat
לַחשׂוֹף 8080
אתה אמור לקבל את פריסת הספרייה כדלקמן:
├── Dockerfile
└── אפליקציה אינטרנטית
└── WEB-INF
├── שיעורים
│ └── HelloWorldServlet.java
└── web.xml
4 ספריות, 3 קבצים
בנה את התמונה
לאחר מכן, אנו בונים את תמונת Tomcat המותאמת אישית כפי שמוצג בפקודה הבאה:
$ בניית docker -ת אפליקציה של tomcat.
הפעל את המיכל
לאחר שתהיה לנו את התמונה מוכנה, נוכל להריץ את הקונטיינר מהתמונה באמצעות הפקודה כדלקמן:
$ דוקר לרוץ -ד -עמ' 8080 : 8080 --שֵׁם tomcat-container tomcat-app
זה אמור לבנות את מיכל Tomcat מתמונת האפליקציה של tomcat שיצרנו בשלב הקודם ולאגד אותו לפורט 8080 במחשב המארח.
גש לאפליקציה
פתח דפדפן אינטרנט ונווט אל . אתה צריך לראות את 'שלום, עולם!' ההודעה המוצגת בדפדפן שלך.
סיכום
מזל טוב! פרסת בהצלחה יישום 'Hello World' במיכל של Tomcat Dockerized.