EclipseCon Europe 2016 - Docker Tooling for Developers
-
Upload
xavier-coulon -
Category
Software
-
view
207 -
download
4
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 / [email protected] / bugs.eclipse.org (product 'Linux Tools' / Component 'Docker')
• http://tools.jboss.org / [email protected] / @jbosstools
• http://developers.redhat.com/ @rhdevelopers
EclipseCon Europe 2016- Docker Tooling for Developers - @xcoulon23
Questions &
Answers