Containisierung von Java Apps mit Docker
Inhalt 1. Virtualisierungskonzept 2. Softwarecontainer 3. Docker 4. Anwendungsbeispiel 5. Fazit 07.06.2018 Containerisierung von Java Apps mit Docker 2
Inhalt 1. Virtualisierungskonzept 1.1 Entstehung 2. Softwarecontainer 1.2 Virtuelle Maschinen 3. Docker 4. Anwendungsbeispiel 1.3 Mehrwert 07.06.2018 Containerisierung von Java Apps mit Docker 3
Inhalt 1. Virtualisierungskonzept 2.1 Was sind Container 2. Softwarecontainer 2.2 Container vs. Virtuelle Maschinen 3. Docker 2.2.1 Architektur 4. Anwendungsbeispiel 2.2.2 Unterschiede 07.06.2018 Containerisierung von Java Apps mit Docker 4
Inhalt 1. Virtualisierungskonzept 2. Softwarecontainer 3.1 Was ist Docker 3. Docker 3.2 Architektur 4. Anwendungsbeispiel 3.3 Terminologie 07.06.2018 Containerisierung von Java Apps mit Docker 5
Inhalt 3.3.1 Image 1. Virtualisierungskonzept 3.3.2 Container 2. Softwarecontainer 3.3.3 Registry 3. Docker 3.3 Terminologie 3.3.4 Volume 4. Anwendungsbeispiel 3.3.5 Compose 07.06.2018 Containerisierung von Java Apps mit Docker 6
Inhalt 1. Virtualisierungskonzept 2. Softwarecontainer 4.1 Dockerfile erstellen 3. Docker 4.2 Image aus dem Dockerfile erzeugen 4. Anwendungsbeispiel 4.3 Docker Container starten 07.06.2018 Containerisierung von Java Apps mit Docker 7
1. Virtualisierungskonzept 1.1 Entstehung Anwendungen Server Mail Server 1 Web Server 2 CRM Server 3 07.06.2018 Containerisierung von Java Apps mit Docker 8
1. Virtualisierungskonzept 1.1 Entstehung Anwendungen Server Mail Mail Web Web CRM CRM 07.06.2018 Containerisierung von Java Apps mit Docker 9
1. Virtualisierungskonzept 1.1 Entstehung Anwendungen Server Mail 30 % 70 % Web 30 % 70 % CRM 30 % 70 % 07.06.2018 Containerisierung von Java Apps mit Docker 10
1. Virtualisierungskonzept 1.1 Entstehung Anwendungen Server Mail Server 1 Web Mail Web CRM 90 % CRM Server 3 07.06.2018 Containerisierung von Java Apps mit Docker 11
1. Virtualisierungskonzept 1.2 Virtuelle Maschine Anwendungen Virtuelle Maschinen Infrastruktur Mail Mail OS CPU Web Mail Hypervisor Netzwerkressourcen OS Storage CRM Mail OS 07.06.2018 Containerisierung von Java Apps mit Docker 12
1. Virtualisierungskonzept 1.3 Mehrwert Hardwarebedarf und Overhead sinkt Bessere Performance Platzeinsparung Kostensenkung 07.06.2018 Containerisierung von Java Apps mit Docker 13
2. SoftwareContainer 2.1 Was sind Container Güter Zielort 07.06.2018 Containerisierung von Java Apps mit Docker 14
2. Softwarecontainer 2.2 Container vs. Virtuelle Maschinen App A App B App A App B Container Bins/Libs Bins/Libs VM s Bins/Libs Bins/Libs Guest OS Guest OS Container Engine Hypervisor Host OS Host OS Infrastruktur Infrastruktur 07.06.2018 Containerisierung von Java Apps mit Docker 15
2. Softwarecontainer 2.2 Container vs. Virtuelle Maschinen 2.2.2 Unterschiede Isolation Bootvorgang Ressourcen Sicherheit Reproduzierbarkeit 07.06.2018 Containerisierung von Java Apps mit Docker 16
3. Docker 3.1 Was ist Docker 2013 Linux- Kernel dotcloud leichtgewichtig komfortabel Open Source 07.06.2018 Containerisierung von Java Apps mit Docker 18
Client 3. Docker 3.2 Architektur Docker Host Registry >_ Rest API Container Docker daemon Images build pull run 07.06.2018 Containerisierung von Java Apps mit Docker 19
3. Docker 3.2 Architektur DOCKER libcontainer libvirt lxc systemdnspawn cgroups namespaces capabilities LINUX apparmor selinux netfilter netlink 07.06.2018 Containerisierung von Java Apps mit Docker 20
3. Docker 3.3 Terminologie Docker Compose Docker Image Docker Volume Docker Container Docker Registry 07.06.2018 Containerisierung von Java Apps mit Docker 21
3. Docker writable Container Docker Image add apache Image Referenz stapelbare Dateisystem add emacs Image debian Base Image Kernelfunktionalitäten 07.06.2018 Containerisierung von Java Apps mit Docker 22
Docker Image Dockerfile FROM 3. Docker 3.3 Terminologie RUN WORKDIR USER ENV ADD EXPOSE ENTRYPOINT CMD VOLUME 07.06.2018 Containerisierung von Java Apps mit Docker 23
3. Docker 3.3 Terminologie Isoliert voneinander laufende Prozesse Starten aus der Image heraus Docker Container docker run Vergleich = Objektorientierte Programmierung Anwendung + Abhängigkeit 07.06.2018 Containerisierung von Java Apps mit Docker 24
3. Docker 3.3 Terminologie Docker Hub Cloudbasierte Plattform Docker Registry Repository Private/Öffentliche Bereiche Vergleich = Git Hub 07.06.2018 Containerisierung von Java Apps mit Docker 25
3. Docker 3.3 Terminologie Persistente Daten Speicherschicht Docker Volume Mount Points Zusatzparameter -v 07.06.2018 Containerisierung von Java Apps mit Docker 26
3. Docker 3.3 Terminologie Tool Docker Compose Verwaltung & Verlinkung YML 07.06.2018 Containerisierung von Java Apps mit Docker 27
3. Docker 3.3. Terminologie v Docker Compose Website- Dateien PHP 07.06.2018 Containerisierung von Java Apps mit Docker 28
Aufbau yaml Docker Compose 07.06.2018 Containerisierung von Java Apps mit Docker 29
Anwendungsbeispiel Dockerfile erstellen Image bauen Container starten 07.06.2018 Containerisierung von Java Apps mit Docker 30
Dockerfile Erstellen Dockerfile erstellen Image bauen Container starten 07.06.2018 Containerisierung von Java Apps mit Docker 31
Dockerfile Erstellen Dockerfile erstellen Image bauen Container starten 07.06.2018 Containerisierung von Java Apps mit Docker 32
Dockerfile Erstellen Dockerfile erstellen Image bauen Container starten http://localhost:8085 /rest/docker/hello 07.06.2018 Containerisierung von Java Apps mit Docker 33
Fazit Geschwindigkeit Einfach Reichlich Angebote an Support und Tutorials 07.06.2018 Containerisierung von Java Apps mit Docker 34
Vielen Dank für die Aufmerksamkeit!