Xavier Coulon

@xcoulon

June 23, 2016
Docker 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
• Conclusion / plans for future
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)4
Introduction to Docker
Eclipse Neon Webinar - Docker Tooling - @xcoulon5
Docker components
• Images
• Containers
• Daemons
• Clients
• Registries
Eclipse Neon Webinar - Docker Tooling - @xcoulon6
Docker Images
• "build" components
• read-only templates
• combination of layers
• built using a Dockerfile
Eclipse Neon Webinar - Docker Tooling - @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
Eclipse Neon Webinar - Docker Tooling - @xcoulon8
Docker Daemon
• runs natively on Linux
• inside a VM on Windows and Mac OS X
Eclipse Neon Webinar - Docker Tooling - @xcoulon9
Docker Clients
clients (CLI, IDE) run on host VM
Eclipse Neon Webinar - Docker Tooling - @xcoulon10
Docker Registries
• "distribution" components
• public instances (https://hub.docker.com)
• private instances
Eclipse Neon Webinar - Docker Tooling - @xcoulon11
Benefits of Docker
• Lightweight
• Fast
• Portable across environments
• Whole stack in a container
• Sandboxing
• No installation. Just run.
Eclipse Neon Webinar - Docker Tooling - @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
Eclipse Neon Webinar - Docker Tooling - @xcoulon13
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 - @xcoulon14
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 - @xcoulon15
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 - @xcoulon16
Demo
Eclipse Neon Webinar - Docker Tooling - @xcoulon17
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 - @xcoulon18
Docker VM
Docker
Demo scenario
wildfly postgres
xcoulon/wildfly-postgres-dev:10.0.0.Final
.../deployments
Host
postgres:9.4.8
Eclipse Neon Webinar - Docker Tooling - @xcoulon19
Conclusion
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
Eclipse Neon Webinar - Docker Tooling - @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
• #jbosstools
• http://developers.redhat.com/
Eclipse Neon Webinar - Docker Tooling - @xcoulon23
Questions
&
Answers
Eclipse Neon Webinar - Docker Tooling - @xcoulon24
Thanks !
Feedback appreciated
@xcoulon

Eclipse Neon Webinar - Docker Tooling for Developers

  • 1.
    Xavier Coulon
 @xcoulon
 June 23,2016 Docker Tooling for Developers
  • 2.
    INSERT DESIGNATOR, IFNEEDED (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
  • 3.
    Eclipse Neon Webinar- Docker Tooling - @xcoulon3 Agenda • Quick introduction to Docker • Docker tooling at Eclipse • Demo • Conclusion / plans for future
  • 4.
    INSERT DESIGNATOR, IFNEEDED (EDIT ON MASTER SLIDE)4 Introduction to Docker
  • 5.
    Eclipse Neon Webinar- Docker Tooling - @xcoulon5 Docker components • Images • Containers • Daemons • Clients • Registries
  • 6.
    Eclipse Neon Webinar- Docker Tooling - @xcoulon6 Docker Images • "build" components • read-only templates • combination of layers • built using a Dockerfile
  • 7.
    Eclipse Neon Webinar- Docker Tooling - @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
  • 8.
    Eclipse Neon Webinar- Docker Tooling - @xcoulon8 Docker Daemon • runs natively on Linux • inside a VM on Windows and Mac OS X
  • 9.
    Eclipse Neon Webinar- Docker Tooling - @xcoulon9 Docker Clients clients (CLI, IDE) run on host VM
  • 10.
    Eclipse Neon Webinar- Docker Tooling - @xcoulon10 Docker Registries • "distribution" components • public instances (https://hub.docker.com) • private instances
  • 11.
    Eclipse Neon Webinar- Docker Tooling - @xcoulon11 Benefits of Docker • Lightweight • Fast • Portable across environments • Whole stack in a container • Sandboxing • No installation. Just run.
  • 12.
    Eclipse Neon Webinar- Docker Tooling - @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
  • 13.
    Eclipse Neon Webinar- Docker Tooling - @xcoulon13 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)
  • 14.
    Eclipse Neon Webinar- Docker Tooling - @xcoulon14 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
  • 15.
    Eclipse Neon Webinar- Docker Tooling - @xcoulon15 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)
  • 16.
    Eclipse Neon Webinar- Docker Tooling - @xcoulon16 Demo
  • 17.
    Eclipse Neon Webinar- Docker Tooling - @xcoulon17 Docker VM Docker Demo scenario xcoulon/wildfly-postgres-dev:10.0.0.Final jboss/wildfly:10.0.0.Final Dockerfile
  • 18.
    Eclipse Neon Webinar- Docker Tooling - @xcoulon18 Docker VM Docker Demo scenario wildfly postgres xcoulon/wildfly-postgres-dev:10.0.0.Final .../deployments Host postgres:9.4.8
  • 19.
    Eclipse Neon Webinar- Docker Tooling - @xcoulon19 Conclusion
  • 20.
    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
  • 21.
    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
  • 22.
    Eclipse Neon Webinar- Docker Tooling - @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 • #jbosstools • http://developers.redhat.com/
  • 23.
    Eclipse Neon Webinar- Docker Tooling - @xcoulon23 Questions & Answers
  • 24.
    Eclipse Neon Webinar- Docker Tooling - @xcoulon24 Thanks ! Feedback appreciated @xcoulon