docker tooling for java ee developers

21
@xcoulon #Devoxx #Docker #Eclipse Docker Tooling for Java EE Developers Xavier Coulon Red Hat

Upload: xavier-coulon

Post on 12-Apr-2017

441 views

Category:

Software


0 download

TRANSCRIPT

@xcoulon#Devoxx #Docker #Eclipse

Docker Tooling for Java EE Developers

Xavier Coulon Red Hat

@xcoulon#Devoxx #Docker #Eclipse

About the speaker

• Senior Software Engineer

• Working at Red Hat for 4 years

• JBoss Tools team member

• Committer on Docker Tooling at Eclipse.org

• Side project: http://github.com/lambdamatic/

Introduction

@xcoulon#Devoxx #Docker #Eclipse

@xcoulon#Devoxx #Docker #Eclipse

Docker components

• Images

• Containers

• Daemon

• Registries

• Clients

@xcoulon#Devoxx #Docker #Eclipse

Docker Images

• "build" components

• read-only templates

• combination of layers

@xcoulon#Devoxx #Docker #Eclipse

Docker Containers

• "run" components

• based on Images

• contain application and dependencies but share same kernel

• can be started, stopped, paused, deleted

• containers are immutable and disposable

@xcoulon#Devoxx #Docker #Eclipse

Docker Daemon

• runs natively on Linux

• inside a VM on Windows and Mac OS X

@xcoulon#Devoxx #Docker #Eclipse

Docker Clients

• clients (CLI, IDE) run on host VM

@xcoulon#Devoxx #Docker #Eclipse

Docker Registries

• "distribution" components

• public instances (https://hub.docker.com)

• private instances

@xcoulon#Devoxx #Docker #Eclipse

Benefits of Docker

• No need for an hypervisor for each container

• many containers per VM

• less memory/CPU resources

• Density, infrastructure utilization

@xcoulon#Devoxx #Docker #Eclipse

Benefits of Docker

• Package the full stack in a container:

• OS,

• JVM,

• App server

• Application with its configuration

• Portable across environments

• Developer machine

• CI / Staging / Production environments

• No more "but it works on my machine" argument

@xcoulon#Devoxx #Docker #Eclipse

Docker at eclipse.org

• Linux tools project (works on Mac OS X and Windows, too)

• Make Docker accessible from Eclipse

• Works with existing Docker tools (docker-machine, etc.)

• Focus on developer experience

• Allow reuse by other plugins

@xcoulon#Devoxx #Docker #Eclipse

Docker setup

• Install Docker Toolbox from docker.com

• Install Eclipse Docker tooling

• from eclipse.org/linuxtools

• from tools.jboss.org (mirrors eclipse.org/linuxtools)

Demo

@xcoulon#Devoxx #Docker #Eclipse

@xcoulon#Devoxx #Docker #Eclipse

LiveReload basics

Browser with LiveReload

extension

LiveReload Server

Disk File

WebSocket

Monitoring HTTP

@xcoulon#Devoxx #Docker #Eclipse

LiveReload in DevStudio

Browser (with LiveReload

extension)

LiveReload Server

App Server

HTTP

WebSocket

Publishing

DevStudio

Docker Container

Volume

Conclusion

@xcoulon#Devoxx #Docker #Eclipse

@xcoulon#Devoxx #Docker #Eclipse

Summary of highlighted features

• Manage connection to Docker daemons

• Search and pull images

• Build custom images from Dockerfile

• Run images with ports, volumes and links

• Manage containers (start/stop/pause/unpause/kill)

• Use a server adapter and LiveReload to publish an application

• Remote debug in a container

@xcoulon#Devoxx #Docker #Eclipse

Let's Get in Touch !

• http://tools.jboss.org

• @jbosstools

• #jbosstools

[email protected]

[email protected]

@xcoulon#Devoxx #Docker #Eclipse

Questions &

Answers

@xcoulon#Devoxx #Docker #Eclipse

Thanks ! Feedback appreciated