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

Eclipse DemoCamp Munich - Docker Tooling and Vagrant Tooling

Apr 16, 2017

Download

Software

Xavier Coulon
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

Eclipse DemoCamp Munich 2016

Xavier Coulon@xcoulon June 20, 2016

Docker Tooling and Vagrant Tooling for Developers

Page 2: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

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

Page 3: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

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

Page 4: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

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

Docker Tooling

Page 5: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

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

Introduction to Docker

Page 6: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

Eclipse Neon Webinar - Docker Tooling - @xcoulon6

Docker components

• Images

• Containers

• Daemons

• Clients

• Registries

Page 7: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

Eclipse Neon Webinar - Docker Tooling - @xcoulon7

Docker Images

• "build" components

• read-only templates

• combination of layers

• built using a Dockerfile

Page 8: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

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

Page 9: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

Eclipse Neon Webinar - Docker Tooling - @xcoulon9

Docker Daemon

• runs natively on Linux

• inside a VM on Windows and Mac OS X

Page 10: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

Eclipse Neon Webinar - Docker Tooling - @xcoulon10

Docker Clients

clients (CLI, IDE) run on host VM

Page 11: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

Eclipse Neon Webinar - Docker Tooling - @xcoulon11

Docker Registries

• "distribution" components

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

• private instances

Page 12: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

Eclipse Neon Webinar - Docker Tooling - @xcoulon12

Benefits of Docker• Lightweight

• Fast

• Portable across environments

• Whole stack in a container

• Sandboxing

• No installation. Just run.

Page 13: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

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

Page 14: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

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)

Page 15: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

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

Page 16: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

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)

Page 17: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

Eclipse Neon Webinar - Docker Tooling - @xcoulon17

Demo

Page 18: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

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

Page 19: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

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

Page 20: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

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

Page 21: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

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

Page 22: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

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

Vagrant Tooling

Page 23: Eclipse DemoCamp Munich  - Docker Tooling and 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)

Page 24: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

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

Page 25: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

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

Page 26: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

Eclipse Neon Webinar - Docker Tooling - @xcoulon26

Demo

Page 27: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

Eclipse Neon Webinar - Docker Tooling - @xcoulon27

Summary of highlighted Vagrant features

• Manage boxes

• Manage images

Page 28: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

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/

Page 29: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

Eclipse Neon Webinar - Docker Tooling - @xcoulon29

Questions &

Answers

Page 30: Eclipse DemoCamp Munich  - Docker Tooling and Vagrant Tooling

Eclipse Neon Webinar - Docker Tooling - @xcoulon30

Thanks !Feedback appreciated

@xcoulon