Top Banner
Locally it worked! Virtualizing with Docker © Docker, Inc.
24
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Locally it worked! virtualizing docker

Locally it worked!

Virtualizing with Docker

© Docker, Inc.

Page 2: Locally it worked! virtualizing docker

Managing Consultant

10 years of WCMS exp

erience

Christoph Behounek

Hobbies: Snowboard,

Longboard, Boardgame

s

Contact: [email protected]

@admiral49

About Me

Page 3: Locally it worked! virtualizing docker

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

Page 4: Locally it worked! virtualizing docker

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

Page 5: Locally it worked! virtualizing docker

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

Page 7: Locally it worked! virtualizing docker

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.

Page 8: Locally it worked! virtualizing docker

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

Page 10: Locally it worked! virtualizing docker

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

Page 11: Locally it worked! virtualizing docker

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

Page 13: Locally it worked! virtualizing docker

Docker Build Image

Docker Public Registry

Host OS (Linux)

Docker Engine

Computer Hardware

Docker Base Image

Dockerfile

Bins + LibsPull

App

Base Image

Build

Page 15: Locally it worked! virtualizing docker

Docker Build Pipeline

GIT

Jenkins

Docker Public Registry

Docker Private RegistryPull

Pull

Push

Pull

Pull

Test andQA Server

Developer

Dockerfile

Page 17: Locally it worked! virtualizing docker

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

Page 19: Locally it worked! virtualizing docker

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

Page 20: Locally it worked! virtualizing docker

The End

KEEPCALM

ITWORKS ON

ALL MACHINES

© Docker, Inc.

Page 22: Locally it worked! virtualizing docker

Terms of Use

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

International License

Page 23: Locally it worked! virtualizing docker

About Us

Page 24: Locally it worked! virtualizing docker

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