שלבו את דוקר וטומקאט

Slbw T Dwqr Wtwmq T



Apache Tomcat הוא שרת אינטרנט ומיכל servlet בקוד פתוח שפותח על ידי Apache Software Foundation (ASF).

Tomcat מיישמת את Java Servlet ואת מפרטי JavaServer Pages מ-Oracle והוא מספק סביבת שרת אינטרנט Java HTTP טהורה עבור קוד ה-Java לרוץ בה.







במדריך זה, נלמד כיצד לשלב את Docker ו-Tomcat כדי לפרוס אפליקציית Tomcat 'hello world' באמצעות Tomcat כמיכל.



דרישות:

כדי לבצע בהצלחה את ההוראות ובקוד המסופקים במדריך זה ולהשתמש בו, ודא שיש לך את הדברים הבאים:



    1. התקנת Docker Engine במחשב המארח שלך
    2. התקנת Java JDK במחשב שלך כדי לבדוק את קוד ה-Java שלך (אופציונלי)
    3. עורך טקסט לעריכת קוד המקור ותצורות 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' עם הקוד הבא:

< ?xml גִרְסָה = '1.0' הַצפָּנָה = 'UTF-8' ? >
< אפליקציית אינטרנט 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. * ;
ייבוא ​​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 ( 'Hello World Servlet' ) ;
out.println ( ' ' ) ;
out.println ( '

שלום עולם!

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


זה מגדיר servlet בסיסי של Tomcat שמדפיס 'Hello world'.



הגדר את ה- Dockerfile

השלב הבא עבורנו הוא להגדיר את Dockerfile כדי לבנות תמונה מותאמת אישית הכוללת את אפליקציית 'Hello World' שלנו.

בתוך ספריית השורש, צור קובץ חדש בשם 'Dockerfile':







$ לגעת ~ / שלום עולם / Dockerfile


ערוך את הקובץ והוסף את התצורה באופן הבא:

# הגדר תמונת בסיס של Tomcat
מ-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.