[szjug] docker. does it matter for java developer?

30
Does it matter for Java Dev?

Upload: izzet-mustafaiev

Post on 18-Jan-2017

312 views

Category:

Software


1 download

TRANSCRIPT

Page 1: [Szjug] Docker. Does it matter for java developer?

Does it matter for Java Dev?

Page 2: [Szjug] Docker. Does it matter for java developer?

● happy father

● SA in EPAM Systems

● Java is a primary language

● hands-on-coding with Groovy, Ruby

● exploring FP with Erlang/Elixir

● passionate about agile, clean code and devops

Page 3: [Szjug] Docker. Does it matter for java developer?

Agenda● what is docker?● how to● dev env● demo● summary● q&a

Page 4: [Szjug] Docker. Does it matter for java developer?
Page 5: [Szjug] Docker. Does it matter for java developer?

Docker https://www.docker.com/

Docker - An open platform for distributed

applications for devs and ops.

● Develop an app with any programming language and any

toolchain

● Ship the “Dockerized” app and dependencies anywhere

● Scale, move between data centers, update with zero

downtime and more

Page 6: [Szjug] Docker. Does it matter for java developer?

1.8.3released

Page 7: [Szjug] Docker. Does it matter for java developer?

Virtualization

Page 8: [Szjug] Docker. Does it matter for java developer?

Containerisation

Page 9: [Szjug] Docker. Does it matter for java developer?

Virtualization vs Containerisation

Page 10: [Szjug] Docker. Does it matter for java developer?

Container under the hood

Page 11: [Szjug] Docker. Does it matter for java developer?

Running containers

Page 12: [Szjug] Docker. Does it matter for java developer?
Page 13: [Szjug] Docker. Does it matter for java developer?

Installation# apt-get update

# wget -qO- https://get.docker.com/ | sh

Assumption: Ubuntu

Page 14: [Szjug] Docker. Does it matter for java developer?

Command Line$ docker images

$ docker pull webdizz/baseimage-java8

$ docker run -d --name=java8 webdizz/baseimage-java8

$ docker ps

$ docker logs java8

$ docker stop java8

$ docker start java8

$ docker top java8

$ docker build -t webdizz/baseimage-java8 .

Page 15: [Szjug] Docker. Does it matter for java developer?

DockerfileFROM phusion/baseimage:0.9.12

RUN apt-get -y update && apt-get -y install software-properties-common

python-software-properties && add-apt-repository ppa:

webupd8team/java && apt-get clean

RUN apt-get -y update && echo oracle-java8-installer

shared/accepted-oracle-license-v1-1 select true |

/usr/bin/debconf-set-selections && apt-get -y install oracle-

java8-installer && apt-get clean && update-alternatives --display java

ENV JAVA_HOME /usr/lib/jvm/java-8-oracle

1

3

4

5

Page 16: [Szjug] Docker. Does it matter for java developer?

Docker Hub● User accounts and Authentication

● Public namespaces

● Automated builds

● Registry for images with checksums

● Meta-data store (comments, stars, list public

repositories)

Page 17: [Szjug] Docker. Does it matter for java developer?

Official images

Page 18: [Szjug] Docker. Does it matter for java developer?

Official images for Java

Page 19: [Szjug] Docker. Does it matter for java developer?

Official images for Java...● Clojure● Tomcat● Maven● Glassfish● Elasticsearch● Jenkins● SonarQube● And more non-official

Page 20: [Szjug] Docker. Does it matter for java developer?

Dev Env

Page 21: [Szjug] Docker. Does it matter for java developer?

Perfect together

Page 22: [Szjug] Docker. Does it matter for java developer?

Routine is boring

Page 23: [Szjug] Docker. Does it matter for java developer?

Docker-compose is our way● YAML syntax

● Configuration inclusion/inheritance

● Comprehensive CLI

● Bash completion

Page 24: [Szjug] Docker. Does it matter for java developer?

Docker-compose YAML● image● command● links● ports/expose● volumes● environment● ...

Page 25: [Szjug] Docker. Does it matter for java developer?

Docker-compose CLI● build● up● logs● ps● run● start/stop● scale

Page 26: [Szjug] Docker. Does it matter for java developer?

Demo Time

Page 27: [Szjug] Docker. Does it matter for java developer?

Summary ● Easy and fast building of images● Easy to share in your team● Easy to scale● Easy to work with new technologies● Of course learning curve● Production like dev env*

Page 29: [Szjug] Docker. Does it matter for java developer?

Q&A

Page 30: [Szjug] Docker. Does it matter for java developer?

[email protected] @webdizz webdizz izzetmustafaiev http://webdizz.name

Thanks