Συνδυάστε Docker και Tomcat

Syndyaste Docker Kai Tomcat



Το Apache Tomcat είναι ένας διακομιστής ιστού ανοιχτού κώδικα και κοντέινερ servlet που αναπτύχθηκε από το Ίδρυμα Λογισμικού Apache (ASF).

Η Tomcat εφαρμόζει τις προδιαγραφές Java Servlet και JavaServer Pages από την Oracle και παρέχει ένα καθαρό περιβάλλον διακομιστή web 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.

Για να τραβήξουμε την εικόνα, μπορούμε να εκτελέσουμε την εντολή ως εξής:



$ λιμενεργάτης τραβάς γατόγατος


Δημιουργήστε μια εφαρμογή Hello World

Το επόμενο βήμα είναι να δημιουργήσετε την εφαρμογή 'Hello World'. Ξεκινήστε δημιουργώντας έναν κατάλογο για να αποθηκεύσετε τον πηγαίο κώδικα και πλοηγηθείτε στον κατάλογο.

$ mkdir Γειά σου Κόσμε && CD Γειά σου Κόσμε


Μέσα στον ριζικό κατάλογο, δημιουργήστε έναν φάκελο webapp και δημιουργήστε έναν φάκελο WEB-INF μέσα σε αυτόν.

Η δομή του καταλόγου σας θα πρέπει να μοιάζει με αυτό:

Γειά σου Κόσμε /
└── webapp
└── WEB-INF

3 καταλόγους, 0 αρχεία


Στη συνέχεια, πλοηγηθείτε στον κατάλογο WEB-INF και δημιουργήστε ένα αρχείο 'web.xml' με τον ακόλουθο κώδικα:

< ?xml εκδοχή = '1.0' κωδικοποίηση = 'UTF-8' ? >
< web-app 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-name > Γειά σου Κόσμε servlet-name >
< servlet-class > HelloWorldServlet servlet-class >
servlet >
< servlet-mapping >
< servlet-name > Γειά σου Κόσμε servlet-name >
< url-μοτίβο >> Γειά σου url-μοτίβο >
servlet-mapping >
web-app >


Αποθηκεύστε το αρχείο και κλείστε το πρόγραμμα επεξεργασίας.

Πίσω στο παράθυρο του τερματικού σας, δημιουργήστε ένα 'HelloWorldServlet.java' μέσα στον κατάλογο WEB-INF/classes.

$ mkdir τάξεις
$ αφή HelloWorldServlet.java


Προσθέστε τα περιεχόμενα της εφαρμογής όπως φαίνεται στα παρακάτω:

εισαγωγή javax.servlet. * ;
εισαγωγή javax.servlet.http. * ;
εισαγωγή java.io. * ;

δημόσια κλάση HelloWorldServlet επεκτείνει το HttpServlet {
δημόσιο κενό doGet ( HttpServletRequest αίτημα, απάντηση HttpServletResponse )
ρίχνει ServletException, IOException {
answer.setContentType ( 'κείμενο/html' ) ;
PrintWriter out = answer.getWriter ( ) ;
out.println ( '' ) ;
out.println ( 'Hello World Servlet' ) ;
out.println ( '<σώμα>' ) ;
out.println ( '

Γεια, Κόσμε!

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


Αυτό δημιουργεί ένα βασικό servlet Tomcat που εκτυπώνει 'Hello world'.



Ορίστε το αρχείο Docker

Το επόμενο βήμα για εμάς είναι να ορίσουμε το Dockerfile για να δημιουργήσουμε μια προσαρμοσμένη εικόνα που περιλαμβάνει την εφαρμογή 'Hello World'.

Μέσα στον ριζικό κατάλογο, δημιουργήστε ένα νέο αρχείο που ονομάζεται 'Dockerfile':







$ αφή ~ / Γειά σου Κόσμε / Dockerfile


Επεξεργαστείτε το αρχείο και προσθέστε τη διαμόρφωση ως εξής:

# ορίστε την εικόνα βάσης Tomcat
ΑΠΟ tomcat:πιο πρόσφατο

# Αντιγράψτε την εφαρμογή Hello World στον κατάλογο webapps της Tomcat
ΑΝΤΙΓΡΑΦΟ . / webapp / usr / τοπικός / γάτος / webapps / myapp
# Expose port 8080 for Tomcat
ΕΚΘΕΣΕΙ 8080


Θα πρέπει να έχετε τη διάταξη καταλόγου ως εξής:

Γειά σου Κόσμε
├── Dockerfile
└── webapp
└── WEB-INF
├── τάξεις
│   └── HelloWorldServlet.java
└── web.xml

4 καταλόγους, 3 αρχεία

Κατασκευάστε την Εικόνα

Στη συνέχεια, χτίζουμε την προσαρμοσμένη εικόνα Tomcat όπως φαίνεται στην ακόλουθη εντολή:

$ κατασκευή λιμενεργατών Tomcat-app .


Εκτελέστε το Container

Μόλις έχουμε έτοιμη την εικόνα, μπορούμε να εκτελέσουμε το κοντέινερ από την εικόνα χρησιμοποιώντας την εντολή ως εξής:

$ τρέξιμο docker -ρε 8080 : 8080 --όνομα tomcat-container Tomcat-app


Αυτό θα πρέπει να δημιουργήσει το κοντέινερ Tomcat από την εικόνα της εφαρμογής Tomcat που δημιουργήσαμε στο προηγούμενο βήμα και να το συνδέσει στη θύρα 8080 στον κεντρικό υπολογιστή.

Πρόσβαση στην Εφαρμογή

Ανοίξτε ένα πρόγραμμα περιήγησης και μεταβείτε σε . Θα πρέπει να δείτε το 'Hello, World!' μήνυμα που εμφανίζεται στο πρόγραμμα περιήγησής σας.

συμπέρασμα

Συγχαρητήρια! Αναπτύξατε με επιτυχία μια εφαρμογή 'Hello World' σε ένα κοντέινερ Dockerized Tomcat.