EclipseCon Europe 2016 - Docker Tooling for Developers

Post on 16-Apr-2017

207 views 4 download

Transcript of EclipseCon Europe 2016 - Docker Tooling for Developers

Xavier Coulon@xcoulon October 25, 2016

EclipseCon Europe 2016 Docker Tooling for Developers

EclipseCon Europe 2016- Docker Tooling for Developers - @xcoulon

About me

• Senior Software Engineer

• Working at Red Hat for ~5 years

• JBoss Tools team member

• Committer on Docker Tooling at eclipse.org

EclipseCon Europe 2016- Docker Tooling for Developers - @xcoulon3

Agenda

• Quick introduction to Docker

• Docker tooling at Eclipse

• Demo

• Conclusion

EclipseCon Europe 2016- Docker Tooling for Developers - @xcoulon4

Introduction to Docker

EclipseCon Europe 2016- Docker Tooling for Developers - @xcoulon5

Docker components

• Images

• Containers

• Daemons

• Clients

• Registries

EclipseCon Europe 2016- Docker Tooling for Developers - @xcoulon6

Docker Images

• "build" components

• read-only templates

• combination of layers

• built using a Dockerfile

EclipseCon Europe 2016- Docker Tooling for Developers - @xcoulon7

Docker Containers• "run" components

• based on Images

• contain application and dependencies but share same kernel

• can be started, stopped, paused, deleted

• can be linked to other containers

• containers are immutable and disposable

EclipseCon Europe 2016- Docker Tooling for Developers - @xcoulon8

Docker Daemon

• runs natively on Linux

• inside a VM on Windows and Mac OS X

EclipseCon Europe 2016- Docker Tooling for Developers - @xcoulon9

Docker Clients

clients (CLI, IDE) run on host VM

EclipseCon Europe 2016- Docker Tooling for Developers - @xcoulon10

Docker Registries

• "distribution" components

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

• private instances

EclipseCon Europe 2016- Docker Tooling for Developers - @xcoulon11

Benefits of Docker• Lightweight

• Fast

• Portable across environments

• Whole stack in a container

• Sandboxing

• No installation. Just run.

EclipseCon Europe 2016- Docker Tooling for Developers - @xcoulon12

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

EclipseCon Europe 2016- Docker Tooling for Developers - @xcoulon13

Docker setup

• Install Docker for Windows/Mac/Linux or Docker Toolbox from docker.com or the Red Hat Container Development Kit (CDK) at http://developers.redhat.com/products/cdk

• Install Eclipse Docker tooling

• from Eclipse Marketplace

• from eclipse.org/linuxtools

• as part of Red Hat Developer Studio (http://developers.redhat.com/products/devstudio)

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

EclipseCon Europe 2016- Docker Tooling for Developers - @xcoulon14

Eclipse Mars Release• Docker Explorer view (tree) + Docker Images and Containers

views (list)

• Search, pull and push images on Docker Hub

• Run images (wizard and launcher)

• Build images (wizard and launcher)

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

• Display container logs

EclipseCon Europe 2016- Docker Tooling for Developers - @xcoulon15

Eclipse Neon Releases• Dockerfile editor (external contribution)

• Support for Docker Compose

• Image Hierarchy view

• Execute shell commands in Terminal view

• Improved support for connections

• Push to registries with authentication

• Bug fixes (thanks to AERI reports)

EclipseCon Europe 2016- Docker Tooling for Developers - @xcoulon16

Demo

EclipseCon Europe 2016- Docker Tooling for Developers - @xcoulon17

Docker VM

Docker

Demo scenario

xcoulon/wildfly-postgres-dev:10.0.0.Final

jboss/wildfly:10.0.0.Final

Dockerfile

EclipseCon Europe 2016- Docker Tooling for Developers - @xcoulon18

Docker VM

Docker

Demo scenario

wildfly postgres

xcoulon/wildfly-postgres-dev:10.0.0.Final

.../deploymentsHost

postgres:9.4.8

EclipseCon Europe 2016- Docker Tooling for Developers - @xcoulon19

Conclusion

EclipseCon Europe 2016- Docker Tooling for Developers - @xcoulon20

Summary of highlighted Docker features

• Manage connection to Docker daemons

• Search and pull images

• Build custom images from Dockerfile

• Run images with specific ports, volumes and links to containers

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

• Use a server adapter

• Remote debug in a container

• View image hierarchy

• Run Docker Compose

• Copy files from containers to host

EclipseCon Europe 2016- Docker Tooling for Developers - @xcoulon21

Ideas for Eclipse Oxygen

• Improve support for Docker Compose

• Support newest Docker core features

• Import/export "docker run" commands

• Server Adapter (JBoss Tools)

EclipseCon Europe 2016- Docker Tooling for Developers - @xcoulon22

Let's Get in Touch !

• eclipse.org/linuxtools / linuxtools-dev@eclipse.org / bugs.eclipse.org (product 'Linux Tools' / Component 'Docker')

• http://tools.jboss.org / jbosstools-dev@lists.jboss.org / @jbosstools

• http://developers.redhat.com/ @rhdevelopers

EclipseCon Europe 2016- Docker Tooling for Developers - @xcoulon23

Questions &

Answers

Danke !

Feedback appreciated: @xcoulon or

eclipsecon.org (sign in and vote)