WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
Eclipse DemoCamp Munich - Docker Tooling and Vagrant Tooling
1. Eclipse DemoCamp Munich 2016
Xavier Coulon
@xcoulon
June 20, 2016
Docker Tooling and Vagrant Tooling
for Developers
2. 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
3. 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
7. Eclipse Neon Webinar - Docker Tooling - @xcoulon7
Docker Images
• "build" components
• read-only templates
• combination of layers
• built using a Dockerfile
8. 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
9. Eclipse Neon Webinar - Docker Tooling - @xcoulon9
Docker Daemon
• runs natively on Linux
• inside a VM on Windows and Mac OS X
10. Eclipse Neon Webinar - Docker Tooling - @xcoulon10
Docker Clients
clients (CLI, IDE) run on host VM
12. Eclipse Neon Webinar - Docker Tooling - @xcoulon12
Benefits of Docker
• Lightweight
• Fast
• Portable across environments
• Whole stack in a container
• Sandboxing
• No installation. Just run.
13. 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
14. 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)
15. 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
16. 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)
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
23. 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)
24. 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
25. 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