Locally it worked! virtualizing docker

24
Locally it worked! Virtualizing with Docker © Docker, Inc.

Transcript of Locally it worked! virtualizing docker

Locally it worked!

Virtualizing with Docker

© Docker, Inc.

Managing Consultant

10 years of WCMS exp

erience

Christoph Behounek

Hobbies: Snowboard,

Longboard, Boardgame

s

Contact: [email protected]

@admiral49

About Me

Senior Solution Arch

itect

7 years of WCMS expe

rience

Loves working with J

ava

(script)

Sascha Brinkmann

Hobbies: Biking, Hik

ing, Travelling

Contact: [email protected]

@sasusu

About Me

Motivation

Just in case you’re stillnot sure weather you’re in a

software project.

Wait until you hear this:

ON MY MACHINE IT WORKS

© Sascha Brinkmann, eggs unimedia

Everyday problems of a software architect:

➢ How was the application server setup?

➢ Which service packs and hotfixes are

installed?

➢ Why does the ramp up take that long?

➢ Why is the velocity so little?

➢ Which version of my application is installed?

Motivation

What is Docker?

Docker automates the deployment of applications inside software containers, by providing an additional

layer of abstraction and automation of OS-level virtualization on Linux.

© Docker, Inc.

VM vs. Docker

Computer Hardware

Host OS

Hypervisor

Guest OS

Bins + Libs

App A

Guest OS

Bins + Libs

App B

Computer Hardware

Host OS (Linux)

Docker Engine

Bins + Libs

App A

Bins + Libs

App B

Virtual Machines vs. Docker Container

Docker Image Structure

Host OS (Linux)

Docker Engine

Bins + Libs

Application Server

Developed Application

Base Image

Layers of a Docker Image Dockerfile (Image Defintion)# Base ImageFROM ubuntu:latest

# Install JavaRUN apt-get update && \

apt-get install -y java7

# Download and unpack AEMADD http://repo.eggs.de/aem-quickstart.jar /optADD http://repo.eggs.de/license.properties /optRUN java -jar /opt/aem-quickstart.jar -unpack

# Install Service Packs and HotfixesRUN mkdir /opt/crx-quickstart/installADD http://repo.eggs.de/aem-updates.zip

/opt/crx-quickstart/install

# Install Custom ApplicationADD http://repo.eggs.de/my-app.zip

/opt/crx-quickstart/install

# Install Demo ContentADD http://repo.eggs.de/my-demo-content.zip

/opt/crx-quickstart/install

Service Packs + Hotfixes

Application Demo Content

AEM Application Stack

Computer Hardware

Host OS (Linux)

Docker Engine

Java + Tools

AEM Author

Java + Tools

AEM Publish

Service Packs + HF Service Packs + HF

Bins + Libs

Apache Webserver

Dispatcher Module

AEM Author Image

AEM Publish Image

Dispatcher Image

Docker Build Image

Docker Public Registry

Host OS (Linux)

Docker Engine

Computer Hardware

Docker Base Image

Dockerfile

Bins + LibsPull

App

Base Image

Build

Docker Build Pipeline

GIT

Jenkins

Docker Public Registry

Docker Private RegistryPull

Pull

Push

Pull

Pull

Test andQA Server

Developer

Dockerfile

Docker Compose Environmentpublish:

hostname: aem-publish.aem.eggs.de

image: registry.mycompany.com/eggs/aem-publisher

ports:

- "4503:4503"

author:

hostname: aem-author.aem.eggs.de

image: registry.mycompany.com/eggs/aem-author

ports:

- "4502:4502"

links:

- publish

dispatcher:

hostname: aem-dispatcher.aem.eggs.de

image: registry.mycompany.com/eggs/apache-dispatcher

ports:

- "80"

links:

- publish

$ docker-compose up -d

Conclusion

➢ Accelerate “Ramp Up”➢ Provide Test and Development Environment

with a one liner➢ Docker Container can be operate in the

cloud (Amazon AWS EC2, Google Cloud, Microsoft Azure, Rackspace, etc.)

➢ Speed Up Desaster Recovery➢ Deliver not only an app or a server, deliver

the system

The End

KEEPCALM

ITWORKS ON

ALL MACHINES

© Docker, Inc.

Terms of Use

This work is licensed under a Creative Commons Attribution-NoDerivatives 4.0

International License

About Us

1984 Firmengründung als Electronics Graphics Group2004 eggs wird Adobe Business Partner2005 Gründung des Adobe Trainingscenters 2010 Gewinner des Siemens top + Awards2014 Deloitte Fast 50 Award

Mitarbeiter: +40Umsatz 2015: +5 Mio €Firmensitz: München+50 Kunden im AdobeUmfeld

About Us