30
Eclipse DemoCamp Munich 2016 Xavier Coulon @xcoulon June 20, 2016 Docker Tooling and Vagrant Tooling for Developers

Eclipse DemoCamp Munich - Docker Tooling and Vagrant Tooling

Embed Size (px)

Citation preview

Eclipse DemoCamp Munich 2016

Xavier Coulon@xcoulon June 20, 2016

Docker Tooling and Vagrant Tooling for Developers

INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)

About me

• Senior Software Engineer

• Working at Red Hat for 4+ years

• JBoss Tools team member

• Committer on Docker Tooling at eclipse.org

Eclipse Neon Webinar - Docker Tooling - @xcoulon3

Agenda

• Quick introduction to Docker

• Docker tooling at Eclipse

• Demo

• Vagrant tooling at Eclipse

• Demo

• Conclusion / plans for future

INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)4

Docker Tooling

INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)5

Introduction to Docker

Eclipse Neon Webinar - Docker Tooling - @xcoulon6

Docker components

• Images

• Containers

• Daemons

• Clients

• Registries

Eclipse Neon Webinar - Docker Tooling - @xcoulon7

Docker Images

• "build" components

• read-only templates

• combination of layers

• built using a Dockerfile

Eclipse Neon Webinar - Docker Tooling - @xcoulon8

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

Eclipse Neon Webinar - Docker Tooling - @xcoulon9

Docker Daemon

• runs natively on Linux

• inside a VM on Windows and Mac OS X

Eclipse Neon Webinar - Docker Tooling - @xcoulon10

Docker Clients

clients (CLI, IDE) run on host VM

Eclipse Neon Webinar - Docker Tooling - @xcoulon11

Docker Registries

• "distribution" components

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

• private instances

Eclipse Neon Webinar - Docker Tooling - @xcoulon12

Benefits of Docker• Lightweight

• Fast

• Portable across environments

• Whole stack in a container

• Sandboxing

• No installation. Just run.

Eclipse Neon Webinar - Docker Tooling - @xcoulon13

Docker tooling 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

Eclipse Neon Webinar - Docker Tooling - @xcoulon14

Docker setup

• Install Docker for Windows/Mac/Linux or Docker Toolbox from docker.com

• Install Eclipse Docker tooling

• from eclipse.org/linuxtools

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

Eclipse Neon Webinar - Docker Tooling - @xcoulon15

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

Containers view (list views)

• 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

Eclipse Neon Webinar - Docker Tooling - @xcoulon16

Eclipse Neon Release

• Dockerfile editor (external contribution)

• Execute shell commands in Terminal view

• Improved support for connections

• Push to registries with authentication

• Bug fixes (thanks to AERI reports)

Eclipse Neon Webinar - Docker Tooling - @xcoulon17

Demo

Eclipse Neon Webinar - Docker Tooling - @xcoulon18

Docker VM

Docker

Demo scenario

xcoulon/wildfly-postgres-dev:10.0.0.Final

jboss/wildfly:10.0.0.Final

Dockerfile

Eclipse Neon Webinar - Docker Tooling - @xcoulon19

Docker VM

Docker

Demo scenario

wildfly postgres

xcoulon/wildfly-postgres-dev:10.0.0.Final

.../deploymentsHost

postgres:9.4.8

Eclipse Neon Webinar - Docker Tooling - @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

Eclipse Neon Webinar - Docker Tooling - @xcoulon21

Plans for Eclipse Oxygen

• Support for Docker Compose

• Image Hierarchy view

• Import/export "docker run" commands

• Server Adapter (JBoss Tools)

• Improved registry accounts management

INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)22

Vagrant Tooling

Eclipse Neon Webinar - Docker Tooling - @xcoulon23

Vagrant Overview

• Boxes: package format for Vagrant environment

• Vagrantfile: specification to run the VM

• VM: lifecycle (start, stop, destroy, ssh, package)

Eclipse Neon Webinar - Docker Tooling - @xcoulon24

Vagrant tooling at eclipse.org

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

• Make Vagrant accessible from Eclipse

• Focus on developer experience

• Allow reuse by other plugins

Eclipse Neon Webinar - Docker Tooling - @xcoulon25

Vagrant tooling at eclipse.org

• Hypervisor: software that manages virtual machines (VirtualBox, KVM, Xen, etc.)

• Vagrant:

• a layer of abstraction above the hypervisor

• uniform way to manage virtual environments

Eclipse Neon Webinar - Docker Tooling - @xcoulon26

Demo

Eclipse Neon Webinar - Docker Tooling - @xcoulon27

Summary of highlighted Vagrant features

• Manage boxes

• Manage images

Eclipse Neon Webinar - Docker Tooling - @xcoulon28

Let's Get in Touch !• eclipse.org/linuxtools

[email protected]

• bugs.eclipse.org (product 'Linux Tools' / Component 'Docker')

• http://tools.jboss.org

[email protected]

• @jbosstools

• #jbosstools

• http://developers.redhat.com/

Eclipse Neon Webinar - Docker Tooling - @xcoulon29

Questions &

Answers

Eclipse Neon Webinar - Docker Tooling - @xcoulon30

Thanks !Feedback appreciated

@xcoulon