SlideShare ist ein Scribd-Unternehmen logo
© OPITZ CONSULTING 2017
Informationsklassifikation:
Öffentlich
 Überraschend mehr Möglichkeiten
© OPITZ CONSULTING 2017
Benjamin Stein, Jan Winkels
APEX meets Docker
© OPITZ CONSULTING 2017
Informationsklassifikation:
Öffentlich Seite 2
Inhalt
1
2
3
Docker…
…meets APEX
Versionierung und CI
APEX meets Docker
© OPITZ CONSULTING 2017
Informationsklassifikation:
Öffentlich Seite 3
Docker
 Was ist das?
 Repositories, Images, Container
 Dockerfile
1
APEX meets Docker
© OPITZ CONSULTING 2017
Informationsklassifikation:
ÖffentlichAPEX meets Docker Seite 4
Was ist Docker?
 ermöglicht das Ausführen von Applikationen in Containern
 Container
 Sind eine minimalistische Virtuelle Maschine
 Beinhalten nur die notwendigen Komponenten
 können aufeinander aufbauen
 Können miteinander verbunden werden
Sind eine minimalistische Virtuelle Maschine
Beinhalten nur die notwendigen Komponenten
können aufeinander aufbauen
Können miteinander verbunden werden
© OPITZ CONSULTING 2017
Informationsklassifikation:
ÖffentlichAPEX meets Docker Seite 5
Zitate
 “Developers use Docker to eliminate ‘works on my machine’ problems
when collaborating on code with co-workers.”
 “Enterprises use Docker to build agile software delivery pipelines to ship
new features faster, more securely and with confidence for both Linux,
Windows Server, and Linux-on-mainframe apps.”
 Quelle: https://www.docker.com/what-docker
© OPITZ CONSULTING 2017
Informationsklassifikation:
ÖffentlichAPEX meets Docker Seite 6
Repositories – Images – Container
Repository 1
Image 1
Image 2
Image 3
Repository 2
Container 1
Container 2
Container 3
Container 4
Container 5
pull
© OPITZ CONSULTING 2017
Informationsklassifikation:
ÖffentlichAPEX meets Docker Seite 7
Repositories
 Öffentlich
 https://hub.docker.com/explore/
 Auswahl von 100,000+ Images
 Verknüpft mit GitHub
 Privat / Lokal
 Gleiche Funktionen, jedoch für interne Projekte
 Images können direkt aus den Repositories geladen werden
 docker pull nginx
© OPITZ CONSULTING 2017
Informationsklassifikation:
ÖffentlichAPEX meets Docker Seite 8
Dockerfile
 Beschreibt, wie der Container aufgebaut werden soll
 Beispiel:
 Starte einen oraclelinux Container
 Führe yum aus, um weitere pakete zu installieren
 Lade Oracle XE in den Container
 Führe das Installationsscript für Oracle XE aus
 Speichere den Container in einem Image
 Das Bauen kann länger dauern
© OPITZ CONSULTING 2017
Informationsklassifikation:
Öffentlich Seite 9
…meets APEX
 Die Idee
 Vor- und Nachteile
 Demo
2
APEX meets Docker
© OPITZ CONSULTING 2017
Informationsklassifikation:
ÖffentlichAPEX meets Docker Seite 10
Die Idee
 Ich habe eine Idee und brauche schnell einen frischen APEX Dummy
 Ich möchte für verschiedene Projekte / Kunden separate APEX Instanzen
erstellen
 Ich möchte mehrere APEX Versionen (z.B. 5.0 + 5.1) parallel laufen lassen
und vergleichen
 Läuft meine 5.0 App in 5.1?
 Ich spare Zeit
© OPITZ CONSULTING 2017
Informationsklassifikation:
ÖffentlichAPEX meets Docker Seite 11
Vorteile
 Es gibt für fast alles einen Container
 Sehr schnell einsatzfähig
 Geringer Ressourcenverbrauch
 Einfacher Austausch von Versionen
 Container läuft in allen Umgebungen gleich
 Einfache Persistierung
 Container kann als Image archiviert werden
© OPITZ CONSULTING 2017
Informationsklassifikation:
ÖffentlichAPEX meets Docker Seite 12
Nachteile
 Unter Windows läuft die DockerMachine in einer separaten VM
 Hyper-V oder VirtualBox
 Speicherintensiv
© OPITZ CONSULTING 2017
Informationsklassifikation:
ÖffentlichAPEX meets Docker Seite 13
Demo
 Image laden
 docker pull winkelsjan/apex5.1
 Neuen Container starten:
 docker run -it --name apex-51-doag -p 8080:8080 -p 1521:1521 winkelsjan/apex5.1:ords
 Neuen Container als daemon starten:
 docker run -d --name apex-51-doag -p 8080:8080 -p 1521:1521 winkelsjan/apex5.1:ords
 Container stoppen
 docker stop apex-51-doag
 Container starten
 docker start apex-51-doag
© OPITZ CONSULTING 2017
Informationsklassifikation:
Öffentlich Seite 14
Versionierung und CI
 Es gibt ein Image
 Exportieren von Anwendungen
 Importieren von Anwendungen
 Blog:
http://apexormore.blogspot.de/2017/11/how-to-
create-continuous-delivery.html
3
APEX meets Docker
© OPITZ CONSULTING 2017
Informationsklassifikation:
ÖffentlichAPEX meets Docker Seite 15
Es gibt ein Image
 Image laden
 docker pull winkelsjan/apex5.1:cd
Variable Name Value
DBHOST Hostname of your database
DBNAME A name for the tnsnames.ora
DBPORT Port of your database
DBSID SID of your database
SCHEMA Name of the source schema
SCHEMAPW Password of the source schema
WORKSPACE Name of your APEX workspace. Case Sensitive!
APEXAPPID The ID of your APEX application
APEXAPPNAME The name of your APEX application
EXPORTPATH The Path under which the export files will be stored. Standard is /home/apple
FULL_DEPLOY_MODE Schema creation mode
© OPITZ CONSULTING 2017
Informationsklassifikation:
ÖffentlichAPEX meets Docker Seite 16
Exportieren von Anwendungen
 Container zum Exportieren der APEX Anwendung
Export git push
Ausführen eines Shell Skripts Manuell über Konsole oder
Grafische Oberfläche
© OPITZ CONSULTING 2017
Informationsklassifikation:
ÖffentlichAPEX meets Docker Seite 17
Importieren von Anwendungen
 Zweiter Container zum Importieren von APEX Anwendungen
git pull Deploy
Manuell über Konsole oder
Grafische Oberfläche
Ausführen eines Shell Skripts
© OPITZ CONSULTING 2017
Informationsklassifikation:
Öffentlich Seite 18
Fragen?
APEX meets Docker
© OPITZ CONSULTING 2017
Informationsklassifikation:
Öffentlich
 Überraschend mehr Möglichkeiten
@OC_WIRE OPITZCONSULTING opitzconsultingWWW.OPITZ-CONSULTING.COM
Kontakt
Benjamin Stein
Developer
Benjamin.Stein@opitz-consulting.com
+49 2261 6001-1173
Jan Winkels
Developer
Jan.winkels@opitz-consulting.com
+49 2261 6001-1082
APEX meets Docker
© OPITZ CONSULTING 2017
Informationsklassifikation:
Öffentlich

Weitere ähnliche Inhalte

PDF
Was ist Docker ?
PPTX
Oracle forms goes docker
PDF
docker.io - Secure And Portable Containers Made Easy
PDF
Continuous Delivery für Infrastrukturdienste in Container-Umgebungen
PDF
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
PPTX
6. Treffen der .NET User Group Paderborn
PDF
Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)
PDF
Zuehlke Camp 2017: Chef vs Ansible session
Was ist Docker ?
Oracle forms goes docker
docker.io - Secure And Portable Containers Made Easy
Continuous Delivery für Infrastrukturdienste in Container-Umgebungen
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
6. Treffen der .NET User Group Paderborn
Automatisierte Entwickler VMs -- "works on my machine" zählt nicht mehr ;-)
Zuehlke Camp 2017: Chef vs Ansible session

Was ist angesagt? (11)

PDF
Was gibt es Neues im Docker-Universum
PDF
Architektur und Automation als Enabler für DevOps
PPTX
5. Treffen der .NET User Group Paderborn
PDF
Alternativen des Betriebs von Weblogic mit Kubernetes/Docker
PPTX
DevOps: Automatisierte Deployments mit TFS & Octopus Deploy
PPTX
DevOps der Triple-E Klasse - Eclipse DemoCamp
PDF
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
PDF
Enterprise CI/CD: Continuous Integration & Delivery im Enterprise-Umfeld
PDF
Development in der Cloud-Ära
PPTX
Dnug 112014 modernization_openn_ntf_ersatzsession
PDF
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?
Was gibt es Neues im Docker-Universum
Architektur und Automation als Enabler für DevOps
5. Treffen der .NET User Group Paderborn
Alternativen des Betriebs von Weblogic mit Kubernetes/Docker
DevOps: Automatisierte Deployments mit TFS & Octopus Deploy
DevOps der Triple-E Klasse - Eclipse DemoCamp
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
Enterprise CI/CD: Continuous Integration & Delivery im Enterprise-Umfeld
Development in der Cloud-Ära
Dnug 112014 modernization_openn_ntf_ersatzsession
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?
Anzeige

Ähnlich wie Apex meets Docker (20)

PPTX
Dockerize It - Mit apex in die amazon cloud
PDF
DOAG Webinar Oracle und Docker
PPTX
WebLogic Server auf ODA: Erfahrungen aus einem Kundenprojekt
PDF
Docker und IBM Bluemix
PDF
Boost your APEX Deployment and Provisioning with Docker
PDF
OC|Webcast "Java heute" vom 28.09.2021
PDF
2014 borys neselovskyi_web_logic_server_auf_oda_praesentation
PDF
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
PDF
Learning Docker Networking 1st Edition Dua
PDF
WebLogic im Docker Container
PDF
Oracle und Docker
PDF
WebLogic im Docker Container
PDF
Docker Workbench
PDF
2020 oracle lizenznews
PDF
Podman in Action: The next generation of container engines - MEAP Version 3 D...
PDF
docker.io @ CentOS 7 - Secure And Portable Containers Made Easy
PDF
Was ist Docker?
PDF
OC|Webcast "Java heute" vom 24.08.2021
PDF
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
PDF
Einführung in Docker
Dockerize It - Mit apex in die amazon cloud
DOAG Webinar Oracle und Docker
WebLogic Server auf ODA: Erfahrungen aus einem Kundenprojekt
Docker und IBM Bluemix
Boost your APEX Deployment and Provisioning with Docker
OC|Webcast "Java heute" vom 28.09.2021
2014 borys neselovskyi_web_logic_server_auf_oda_praesentation
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
Learning Docker Networking 1st Edition Dua
WebLogic im Docker Container
Oracle und Docker
WebLogic im Docker Container
Docker Workbench
2020 oracle lizenznews
Podman in Action: The next generation of container engines - MEAP Version 3 D...
docker.io @ CentOS 7 - Secure And Portable Containers Made Easy
Was ist Docker?
OC|Webcast "Java heute" vom 24.08.2021
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Einführung in Docker
Anzeige

Mehr von OPITZ CONSULTING Deutschland (20)

PDF
OC|Webcast: Grundlagen der Oracle Lizenzierung
PDF
OC|Webcast "Daten wirklich nutzen"
PDF
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
PDF
OC|Webcast "Willkommen in der Cloud!"
PDF
OC|Webcast "Die neue Welt der Virtualisierung"
PDF
10 Thesen zur professionellen Softwareentwicklung
PDF
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
PDF
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
PDF
OC|Webcast: Grundlagen der Oracle-Lizenzierung
PDF
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
PDF
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
PDF
OC|Weekly Talk The Power of DevOps…
PDF
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
PDF
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
PDF
OC|Weekly Talk - Digitales Coaching & Smart Sparring
PDF
OC|Weekly Talk - Beratung remote
PDF
Effiziente Betriebsoptimierung durch Cloud Nutzung
PDF
OC|Weekly Talk - Mitarbeiterführung in Zeiten von Social Distance
PDF
OC|Weekly Talk Remote Design Thinking
PDF
OC|Webcast Smart Innovation am 7. April 2020
OC|Webcast: Grundlagen der Oracle Lizenzierung
OC|Webcast "Daten wirklich nutzen"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
OC|Webcast "Willkommen in der Cloud!"
OC|Webcast "Die neue Welt der Virtualisierung"
10 Thesen zur professionellen Softwareentwicklung
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Grundlagen der Oracle-Lizenzierung
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Weekly Talk The Power of DevOps…
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Beratung remote
Effiziente Betriebsoptimierung durch Cloud Nutzung
OC|Weekly Talk - Mitarbeiterführung in Zeiten von Social Distance
OC|Weekly Talk Remote Design Thinking
OC|Webcast Smart Innovation am 7. April 2020

Apex meets Docker

  • 1. © OPITZ CONSULTING 2017 Informationsklassifikation: Öffentlich  Überraschend mehr Möglichkeiten © OPITZ CONSULTING 2017 Benjamin Stein, Jan Winkels APEX meets Docker
  • 2. © OPITZ CONSULTING 2017 Informationsklassifikation: Öffentlich Seite 2 Inhalt 1 2 3 Docker… …meets APEX Versionierung und CI APEX meets Docker
  • 3. © OPITZ CONSULTING 2017 Informationsklassifikation: Öffentlich Seite 3 Docker  Was ist das?  Repositories, Images, Container  Dockerfile 1 APEX meets Docker
  • 4. © OPITZ CONSULTING 2017 Informationsklassifikation: ÖffentlichAPEX meets Docker Seite 4 Was ist Docker?  ermöglicht das Ausführen von Applikationen in Containern  Container  Sind eine minimalistische Virtuelle Maschine  Beinhalten nur die notwendigen Komponenten  können aufeinander aufbauen  Können miteinander verbunden werden Sind eine minimalistische Virtuelle Maschine Beinhalten nur die notwendigen Komponenten können aufeinander aufbauen Können miteinander verbunden werden
  • 5. © OPITZ CONSULTING 2017 Informationsklassifikation: ÖffentlichAPEX meets Docker Seite 5 Zitate  “Developers use Docker to eliminate ‘works on my machine’ problems when collaborating on code with co-workers.”  “Enterprises use Docker to build agile software delivery pipelines to ship new features faster, more securely and with confidence for both Linux, Windows Server, and Linux-on-mainframe apps.”  Quelle: https://www.docker.com/what-docker
  • 6. © OPITZ CONSULTING 2017 Informationsklassifikation: ÖffentlichAPEX meets Docker Seite 6 Repositories – Images – Container Repository 1 Image 1 Image 2 Image 3 Repository 2 Container 1 Container 2 Container 3 Container 4 Container 5 pull
  • 7. © OPITZ CONSULTING 2017 Informationsklassifikation: ÖffentlichAPEX meets Docker Seite 7 Repositories  Öffentlich  https://hub.docker.com/explore/  Auswahl von 100,000+ Images  Verknüpft mit GitHub  Privat / Lokal  Gleiche Funktionen, jedoch für interne Projekte  Images können direkt aus den Repositories geladen werden  docker pull nginx
  • 8. © OPITZ CONSULTING 2017 Informationsklassifikation: ÖffentlichAPEX meets Docker Seite 8 Dockerfile  Beschreibt, wie der Container aufgebaut werden soll  Beispiel:  Starte einen oraclelinux Container  Führe yum aus, um weitere pakete zu installieren  Lade Oracle XE in den Container  Führe das Installationsscript für Oracle XE aus  Speichere den Container in einem Image  Das Bauen kann länger dauern
  • 9. © OPITZ CONSULTING 2017 Informationsklassifikation: Öffentlich Seite 9 …meets APEX  Die Idee  Vor- und Nachteile  Demo 2 APEX meets Docker
  • 10. © OPITZ CONSULTING 2017 Informationsklassifikation: ÖffentlichAPEX meets Docker Seite 10 Die Idee  Ich habe eine Idee und brauche schnell einen frischen APEX Dummy  Ich möchte für verschiedene Projekte / Kunden separate APEX Instanzen erstellen  Ich möchte mehrere APEX Versionen (z.B. 5.0 + 5.1) parallel laufen lassen und vergleichen  Läuft meine 5.0 App in 5.1?  Ich spare Zeit
  • 11. © OPITZ CONSULTING 2017 Informationsklassifikation: ÖffentlichAPEX meets Docker Seite 11 Vorteile  Es gibt für fast alles einen Container  Sehr schnell einsatzfähig  Geringer Ressourcenverbrauch  Einfacher Austausch von Versionen  Container läuft in allen Umgebungen gleich  Einfache Persistierung  Container kann als Image archiviert werden
  • 12. © OPITZ CONSULTING 2017 Informationsklassifikation: ÖffentlichAPEX meets Docker Seite 12 Nachteile  Unter Windows läuft die DockerMachine in einer separaten VM  Hyper-V oder VirtualBox  Speicherintensiv
  • 13. © OPITZ CONSULTING 2017 Informationsklassifikation: ÖffentlichAPEX meets Docker Seite 13 Demo  Image laden  docker pull winkelsjan/apex5.1  Neuen Container starten:  docker run -it --name apex-51-doag -p 8080:8080 -p 1521:1521 winkelsjan/apex5.1:ords  Neuen Container als daemon starten:  docker run -d --name apex-51-doag -p 8080:8080 -p 1521:1521 winkelsjan/apex5.1:ords  Container stoppen  docker stop apex-51-doag  Container starten  docker start apex-51-doag
  • 14. © OPITZ CONSULTING 2017 Informationsklassifikation: Öffentlich Seite 14 Versionierung und CI  Es gibt ein Image  Exportieren von Anwendungen  Importieren von Anwendungen  Blog: http://apexormore.blogspot.de/2017/11/how-to- create-continuous-delivery.html 3 APEX meets Docker
  • 15. © OPITZ CONSULTING 2017 Informationsklassifikation: ÖffentlichAPEX meets Docker Seite 15 Es gibt ein Image  Image laden  docker pull winkelsjan/apex5.1:cd Variable Name Value DBHOST Hostname of your database DBNAME A name for the tnsnames.ora DBPORT Port of your database DBSID SID of your database SCHEMA Name of the source schema SCHEMAPW Password of the source schema WORKSPACE Name of your APEX workspace. Case Sensitive! APEXAPPID The ID of your APEX application APEXAPPNAME The name of your APEX application EXPORTPATH The Path under which the export files will be stored. Standard is /home/apple FULL_DEPLOY_MODE Schema creation mode
  • 16. © OPITZ CONSULTING 2017 Informationsklassifikation: ÖffentlichAPEX meets Docker Seite 16 Exportieren von Anwendungen  Container zum Exportieren der APEX Anwendung Export git push Ausführen eines Shell Skripts Manuell über Konsole oder Grafische Oberfläche
  • 17. © OPITZ CONSULTING 2017 Informationsklassifikation: ÖffentlichAPEX meets Docker Seite 17 Importieren von Anwendungen  Zweiter Container zum Importieren von APEX Anwendungen git pull Deploy Manuell über Konsole oder Grafische Oberfläche Ausführen eines Shell Skripts
  • 18. © OPITZ CONSULTING 2017 Informationsklassifikation: Öffentlich Seite 18 Fragen? APEX meets Docker
  • 19. © OPITZ CONSULTING 2017 Informationsklassifikation: Öffentlich  Überraschend mehr Möglichkeiten @OC_WIRE OPITZCONSULTING opitzconsultingWWW.OPITZ-CONSULTING.COM Kontakt Benjamin Stein Developer Benjamin.Stein@opitz-consulting.com +49 2261 6001-1173 Jan Winkels Developer Jan.winkels@opitz-consulting.com +49 2261 6001-1082 APEX meets Docker
  • 20. © OPITZ CONSULTING 2017 Informationsklassifikation: Öffentlich

Hinweis der Redaktion

  • #6: Was ist Docker überhaupt? Auf der Homepage von Docker findet man unter anderem die folgende Definition: <Punkt 1 vorlesen> Ok Cool! Bietet uns als APEX Entwicklern auch coole Möglichkeiten…
  • #7: Docker kann man im Grunde auf drei Grundbegriffe reduzieren: Repositories Images Container Die jeweils in einer 1:n Beziehung zueinander stehen. Weg erklären Repository zu Container und zurück Pull Run Tag/commit push