Ship java apps with docker!

32
www.aurorasolutions.io Ship Java Apps with Docker!

Transcript of Ship java apps with docker!

www.aurorasolutions.io

Ship Java Apps with Docker!

www.aurorasolutions.io

Raise your hands if you have...

❖ Tried Docker (online tutorial)❖ Tried real Docker (e.g. deployed on remote VM)❖ Installed Docker locally (e.g. with boot2docker)❖ Written a Dockerfile (and built it!)❖ An image on Docker hub (pushed or autobuilt)❖ Deployed Docker images for dev/QA/test/prod… etc.

www.aurorasolutions.io

About: Rasheed

Full Stack Developer & Co-Founder @ Aurora Solutions - Provides REMOTE Teams specializing in JVM languages and Angular + Ember

My team at Aurora specializes in:► Web/Backend Apps ◄ Java, Groovy, Grails, C# and AngularJS/EmberJS based single or multi page web apps► Mobile Apps ◄ Android & iOS

Business domains we specialize in:¤ Media Streaming¤ Automated/Algorithmic Trading¤ Bitcoin / Crypto Currency

LinkedIn: https://se.linkedin.com/in/rasheedwaraich

Email: [email protected]

www.aurorasolutions.io

Agenda● Background● Container vs VM● Define Sample App● Build/Run Docker Images● Docker Index● Deploy Locally● Deploy AWS● Deploy GCE

www.aurorasolutions.io

Background

www.aurorasolutions.io

A useful analogy...

www.aurorasolutions.io

Say again?

❏ Build: package your application in a container❏ Ship: move that container from a machine to another❏ Run: execute that container❏ Any application: anything that runs on Linux❏ Anywhere: local VM, cloud instance, bare metal…

www.aurorasolutions.io

Container vs. VM

www.aurorasolutions.io

Basic Docker Concepts

www.aurorasolutions.io

Main Docker Parts

● docker daemon○ used to manage docker (LXC) containers on the host it runs

● docker CLI○ used to command and communicate with the docker daemon

● docker image index○ a repository (public or private) for docker images

www.aurorasolutions.io

Main Docker Elements

● Dockerfiles○ scripts automating the building process of images

● docker images○ snapshots of containers or base OS (e.g. Ubuntu) images

● docker containers○ directories containing everything-your-application

www.aurorasolutions.io

Install Docker (Ubuntu 14.04)

Step 1: add docker repository key to apt-key for package verification

sudo sh -c "wget -qO- https://get.docker.io/gpg | apt-key add -"

Step 2: add the docker repository to your list of repositories:sudo sh -c "echo deb http://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"

Step 3: finally install docker with an apt-get combo:sudo apt-get updatesudo apt-get install lxc-docker

www.aurorasolutions.io

Sample java app!

www.aurorasolutions.io

Deploy Locally!

www.aurorasolutions.io

Docker Index

www.aurorasolutions.io

Docker Index❏ https://index.docker.io/

❏ It’s GitHub for Docker images!

❏ You can pull activemq, mysql, mongodb, hadoop, … etc.

❏ You can hook your docker index repository on to your own repository on GitHub!!!❏ Build images automatically once you push something to Github

www.aurorasolutions.io

Deploy on EC2!

www.aurorasolutions.io

Deploy on GCE!

www.aurorasolutions.io

Docker Linking

www.aurorasolutions.io

Thank you!Questions...