Download - Ship java apps with docker!

Transcript

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...