© Excellent backgrounds/Shutterstock.com
Java Magazin
Kolumne: Docker rockt Java

Apache Tomcat meets Docker: Webanwendungen als Docker-Images herstellen

von Peter Roßbach

Peter Roßbach


Das Docker-Ökosystem ist die ideale Umgebung, um Webanwendungen zu implementieren. Verschiedene Anwendungen auf einer Gruppe von Rechnern isoliert voneinander bereitzustellen, ist unser täglich Brot. Leider ist es mit der viel gelobten Portabilität im Java-Umfeld so eine Sache: Unsere Anwendungen müssen dennoch an die jeweilige Umgebung angepasst werden. Docker-Container können hier helfen, die Anwendungen und ihre Umgebung betriebsbereit und portabel zu produzieren. Wie in den meisten Fällen existieren unterschiedlichste Möglichkeiten, eine Anwendung zu verpacken. In diesem Beitrag werden verschiedene Bereitstellungen von Webanwendungen mit Docker beschrieben. Video: Docker für Java Entwickler Bereitstellen von Apache-Tomcat-Docker-ImagesAuf der Basis des Trusted Java-Images kann die Bereitstellung des Tomcats relativ schnell erfolgen. Natürlich existiert bereits ein fertiges Tomcat-Image für die Entwicklung [4]. Wie gewohnt wird eine aktuelle Tomcat-Distribution auf der Basis des Java-Images geladen (Listings 1 und 2). Da wir ein Image für die Produktion herstellen wollen, nutzen wir ein aktuelles JRE 8, löschen die Tomcat-Beispielanwendungen und Windows-Skripte. Dann werden die entsprechenden Ports preisgegeben und der Startbefehl für den Tomcat gesetzt. Dieses Installationsmuster lässt sich auf alle Java-Artefakte übertragen. Wichtig ist noch, dass die Themen Wiederholbarkeit und Absicherung von Artefakten aus dem Internet kritisch betrachtet werden. Hier wird die MD5-Summe ebenfalls aus dem Netz geladen; das ist sicherlich praktisch, aber leider nicht immer ausreichend oder wirklich sicher. Wie vertraulich ist denn der DNS-Server, den Sie gerade nutzen? Darüber hinaus kann sich relativ schnell das Base-Image verändern. Um Wiederholbarkeit bei der Erstellung von Docker-Images zu gewährleisten, sollte lieber auf Basis von Tags, in diesem Fall openjdk-8u40-jre, gearbeitet werden.Listing 1FROM java:8-jreMAINTAINER Peter Rossbach  ENV TOMCAT_MINOR_VERSION=8.0.21 \ CATALINA_HOME=/opt/tomcat \ TOMCAT_URL=https://archive.apache.org/dist/tomcat/tomcat-8 RUN curl -O ${TOMCAT_URL}/v${TOMCAT_MINOR_VERSION}/bin/apache-tomcat-${TOMCAT_MINOR_VERSION}.tar.gz && \ curl ${TOMCAT_URL}/v${TOMCAT_MINOR_VERSION}/bin/apache-tomcat-${TOMCAT_MINOR_VERSION}.tar.gz.md5 | md5sum -c - && \ tar xzf apache-tomcat-*.tar.gz && \ rm apache-tomcat-*.tar.gz* && mv apache-tomcat* ${CATALINA_HOME} && \ rm -rf ${CATALINA_HOME}/webapps/* \ ${CATALINA_HOM...

Java Magazin
Kolumne: Docker rockt Java

Apache Tomcat meets Docker: Webanwendungen als Docker-Images herstellen

von Peter Roßbach

Peter Roßbach


Das Docker-Ökosystem ist die ideale Umgebung, um Webanwendungen zu implementieren. Verschiedene Anwendungen auf einer Gruppe von Rechnern isoliert voneinander bereitzustellen, ist unser täglich Brot. Leider ist es mit der viel gelobten Portabilität im Java-Umfeld so eine Sache: Unsere Anwendungen müssen dennoch an die jeweilige Umgebung angepasst werden. Docker-Container können hier helfen, die Anwendungen und ihre Umgebung betriebsbereit und portabel zu produzieren. Wie in den meisten Fällen existieren unterschiedlichste Möglichkeiten, eine Anwendung zu verpacken. In diesem Beitrag werden verschiedene Bereitstellungen von Webanwendungen mit Docker beschrieben. Video: Docker für Java Entwickler Bereitstellen von Apache-Tomcat-Docker-ImagesAuf der Basis des Trusted Java-Images kann die Bereitstellung des Tomcats relativ schnell erfolgen. Natürlich existiert bereits ein fertiges Tomcat-Image für die Entwicklung [4]. Wie gewohnt wird eine aktuelle Tomcat-Distribution auf der Basis des Java-Images geladen (Listings 1 und 2). Da wir ein Image für die Produktion herstellen wollen, nutzen wir ein aktuelles JRE 8, löschen die Tomcat-Beispielanwendungen und Windows-Skripte. Dann werden die entsprechenden Ports preisgegeben und der Startbefehl für den Tomcat gesetzt. Dieses Installationsmuster lässt sich auf alle Java-Artefakte übertragen. Wichtig ist noch, dass die Themen Wiederholbarkeit und Absicherung von Artefakten aus dem Internet kritisch betrachtet werden. Hier wird die MD5-Summe ebenfalls aus dem Netz geladen; das ist sicherlich praktisch, aber leider nicht immer ausreichend oder wirklich sicher. Wie vertraulich ist denn der DNS-Server, den Sie gerade nutzen? Darüber hinaus kann sich relativ schnell das Base-Image verändern. Um Wiederholbarkeit bei der Erstellung von Docker-Images zu gewährleisten, sollte lieber auf Basis von Tags, in diesem Fall openjdk-8u40-jre, gearbeitet werden.Listing 1FROM java:8-jreMAINTAINER Peter Rossbach  ENV TOMCAT_MINOR_VERSION=8.0.21 \ CATALINA_HOME=/opt/tomcat \ TOMCAT_URL=https://archive.apache.org/dist/tomcat/tomcat-8 RUN curl -O ${TOMCAT_URL}/v${TOMCAT_MINOR_VERSION}/bin/apache-tomcat-${TOMCAT_MINOR_VERSION}.tar.gz && \ curl ${TOMCAT_URL}/v${TOMCAT_MINOR_VERSION}/bin/apache-tomcat-${TOMCAT_MINOR_VERSION}.tar.gz.md5 | md5sum -c - && \ tar xzf apache-tomcat-*.tar.gz && \ rm apache-tomcat-*.tar.gz* && mv apache-tomcat* ${CATALINA_HOME} && \ rm -rf ${CATALINA_HOME}/webapps/* \ ${CATALINA_HOM...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang