SlideShare a Scribd company logo
Apache jclouds and Docker 
Andrea Turli 
@turlinux
What is jclouds? 
An open source multi-cloud toolkit for the Java platform 
BlobStore and ComputeService API abstraction for 20+ IaaS providers
What is Docker? 
Docker Engine is an open source container virtualization technology. 
Virtual Machine Docker 
From jclouds perspective, Docker is a cloud provider which spins containers up instead 
of virtual machines
Docker REST API 
Docker 1.3.x contains Docker REST API v1.15 
Docker Remote API <- supported by jclouds-docker 
○ ContainerAPI 
○ ImageAPI 
○ MiscAPI 
Docker Hub API 
Docker Registry API 
The API tends to be REST, but for some complex commands, like attach or 
pull, the HTTP connection is hijacked to transport STDOUT, STDIN and 
STDERR.
Docker Engine daemon configuration 
By default, the Docker Engine daemon listens on unix:///var/run/docker.sock 
and the client must have root access to interact with the daemon. 
Docker Engine daemon can be set to use an (encrypted) TCP socket 
http://host:2375 
https://host:2376 
If the Docker Engine daemon is set to use an encrypted TCP socket (--tls, or -- 
tlsverify) then you need to add extra parameters to curl or wget when 
making test API requests: 
curl --insecure --cert ~$DOCKER_CERT_PATH/cert.pem --key 
~$DOCKER_CERT_PATH/key.pem https://boot2docker:2376/images/json
Docker Remote API 
: supported by jclouds
Example: List Images 
Auto Value: Immutable value-type code generation for Java 1.6+
Example: Create Container
Building jclouds-docker 
official: https://github.com/jclouds/jclouds-labs/tree/master/docker 
latest version (1.3.2): https://github.com/andreaturli/jclouds-labs/tree/1.3.2 
TLS (optional; starting from 1.3.0) 
If you are using boot2docker, set up the following VM options for jclouds-docker: 
-Dtest.docker.identity=$DOCKER_CERT_PATH/cert.pem 
-Dtest.docker.credential=$DOCKER_CERT_PATH/key.pem 
-Dtest.docker.endpoint=https://192.168.59.103:2376 # this is the default, but check with boot2docker up 
When using encrypted TCP socket, you should know that Docker removed sslv3 from server's TLS supported versions 
https://github.com/docker/docker/pull/8588/files 
JDK sslContext.getDefaultSSLParameters().getProtocols() 
6 SSLv3, TLSv1, SSLv2Hello 
7 SSLv3, TLSv1 
To have more fine-grained control, OkHttp driver will be the default choice for providers that need SSL/TLS 
OkHttpCommandExecutorServiceModule vs JavaUrlHttpCommandExecutorServiceModule
References 
Apache jclouds https://jclouds.apache.org/ 
Apache jclouds Docker https://jclouds.apache.org/guides/docker/ 
Docker https://www.docker.com 
Docker Rest API http://goo.gl/Cuhpcx 
Google AutoValue https://github.com/google/auto/tree/master/value 
How to disable SSL v3.0 in JDK and JRE http://goo.gl/ZiK6Z7 
OkHttp https://github.com/square/okhttp/

More Related Content

What's hot (20)

PPTX
jclouds meetup
Everett Toews
 
PPT
Kubernetes on CloudStack with coreOS
Sebastien Goasguen
 
PPTX
Azure Container Service
DataArt
 
PDF
ContainerDayVietnam2016: Containers with OpenStack
Docker-Hanoi
 
PPTX
DockerCon EU 2015: From Local Development to Production Deployments using Ama...
Docker, Inc.
 
PPTX
Kubernetes HA @ AppDirect - Montreal Kubernetes Meetup
alexgervais
 
PPTX
Deploying a 3 tier application using docker
parth2094
 
PDF
Virtualized Containers - How Good is it - Ananth - Siemens - CC18
CodeOps Technologies LLP
 
PPT
Docker and CloudStack
Sebastien Goasguen
 
PDF
Cassandra Summit 2014: Highly Scalable Web Application in the Cloud with Cass...
DataStax Academy
 
PPTX
Openshift Container Platform on Azure
Glenn West
 
PPTX
Azure Container Service
Alexander Feschenko
 
PDF
ContainerDayVietnam2016: Docker at scale with Mesos
Docker-Hanoi
 
PPTX
Deploy Elasticsearch Cluster on Kubernetes
Ismaeel Enjreny
 
PPTX
Blue whale, jail and Microsoft
Lukasz Kaluzny
 
PPTX
Platform as a Service with Kubernetes and Mesos
Miguel Zuniga
 
PDF
Azure Kubernetes Service - benefits and challenges
Wojciech Barczyński
 
PDF
Libcloud and j clouds
DaeMyung Kang
 
PDF
AWS Elastic Container Service - DockerHN
Nguyen Anh Tu
 
PPTX
Introduction to Apache jclouds at ApacheCon 2014
Everett Toews
 
jclouds meetup
Everett Toews
 
Kubernetes on CloudStack with coreOS
Sebastien Goasguen
 
Azure Container Service
DataArt
 
ContainerDayVietnam2016: Containers with OpenStack
Docker-Hanoi
 
DockerCon EU 2015: From Local Development to Production Deployments using Ama...
Docker, Inc.
 
Kubernetes HA @ AppDirect - Montreal Kubernetes Meetup
alexgervais
 
Deploying a 3 tier application using docker
parth2094
 
Virtualized Containers - How Good is it - Ananth - Siemens - CC18
CodeOps Technologies LLP
 
Docker and CloudStack
Sebastien Goasguen
 
Cassandra Summit 2014: Highly Scalable Web Application in the Cloud with Cass...
DataStax Academy
 
Openshift Container Platform on Azure
Glenn West
 
Azure Container Service
Alexander Feschenko
 
ContainerDayVietnam2016: Docker at scale with Mesos
Docker-Hanoi
 
Deploy Elasticsearch Cluster on Kubernetes
Ismaeel Enjreny
 
Blue whale, jail and Microsoft
Lukasz Kaluzny
 
Platform as a Service with Kubernetes and Mesos
Miguel Zuniga
 
Azure Kubernetes Service - benefits and challenges
Wojciech Barczyński
 
Libcloud and j clouds
DaeMyung Kang
 
AWS Elastic Container Service - DockerHN
Nguyen Anh Tu
 
Introduction to Apache jclouds at ApacheCon 2014
Everett Toews
 

Similar to Apache jclouds and Docker (20)

PDF
How to create a Docker Cloud with Brooklyn, jclouds and Clocker
Andrea Turli
 
PPTX
DockerCon EU 2015 Barcelona
Roman Dembitsky
 
PDF
Docker+java
DPC Consulting Ltd
 
PDF
Docker at Djangocon 2013 | Talk by Ken Cochrane
dotCloud
 
PDF
Django and Docker
Docker, Inc.
 
PDF
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Jérôme Petazzoni
 
PDF
Package your Java EE Application using Docker and Kubernetes
Arun Gupta
 
PDF
Introduction to Docker at the Azure Meet-up in New York
Jérôme Petazzoni
 
PPTX
Introduction to Docker
Kevin Littlejohn
 
PDF
Connect + Docker + AWS = Bitbucket Pipelines
Atlassian
 
PDF
Docker for (Java) Developers
Rafael Benevides
 
PDF
Scala, docker and testing, oh my! mario camou
J On The Beach
 
PDF
Introduction to Docker at Glidewell Laboratories in Orange County
Jérôme Petazzoni
 
PDF
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
TheFamily
 
PDF
Introduction to Docker, December 2014 "Tour de France" Edition
Jérôme Petazzoni
 
PDF
Introduction to Docker and deployment and Azure
Jérôme Petazzoni
 
PDF
Docker for Java Developers - Fabiane Nardon and Arun gupta
Docker, Inc.
 
PDF
Docker and java
Anthony Dahanne
 
PDF
Docker From Scratch
Giacomo Vacca
 
PDF
Docker 0.11 at MaxCDN meetup in Los Angeles
Jérôme Petazzoni
 
How to create a Docker Cloud with Brooklyn, jclouds and Clocker
Andrea Turli
 
DockerCon EU 2015 Barcelona
Roman Dembitsky
 
Docker+java
DPC Consulting Ltd
 
Docker at Djangocon 2013 | Talk by Ken Cochrane
dotCloud
 
Django and Docker
Docker, Inc.
 
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Jérôme Petazzoni
 
Package your Java EE Application using Docker and Kubernetes
Arun Gupta
 
Introduction to Docker at the Azure Meet-up in New York
Jérôme Petazzoni
 
Introduction to Docker
Kevin Littlejohn
 
Connect + Docker + AWS = Bitbucket Pipelines
Atlassian
 
Docker for (Java) Developers
Rafael Benevides
 
Scala, docker and testing, oh my! mario camou
J On The Beach
 
Introduction to Docker at Glidewell Laboratories in Orange County
Jérôme Petazzoni
 
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
TheFamily
 
Introduction to Docker, December 2014 "Tour de France" Edition
Jérôme Petazzoni
 
Introduction to Docker and deployment and Azure
Jérôme Petazzoni
 
Docker for Java Developers - Fabiane Nardon and Arun gupta
Docker, Inc.
 
Docker and java
Anthony Dahanne
 
Docker From Scratch
Giacomo Vacca
 
Docker 0.11 at MaxCDN meetup in Los Angeles
Jérôme Petazzoni
 
Ad

Recently uploaded (20)

PPTX
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PPT
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
PDF
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
PDF
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
Python basic programing language for automation
DanialHabibi2
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
PDF
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
✨Unleashing Collaboration: Salesforce Channels & Community Power in Patna!✨
SanjeetMishra29
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Chris Elwell Woburn, MA - Passionate About IT Innovation
Chris Elwell Woburn, MA
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
Interview paper part 3, It is based on Interview Prep
SoumyadeepGhosh39
 
CIFDAQ Weekly Market Wrap for 11th July 2025
CIFDAQ
 
Windsurf Meetup Ottawa 2025-07-12 - Planning Mode at Reliza.pdf
Pavel Shukhman
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
Python basic programing language for automation
DanialHabibi2
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Log-Based Anomaly Detection: Enhancing System Reliability with Machine Learning
Mohammed BEKKOUCHE
 
The Builder’s Playbook - 2025 State of AI Report.pdf
jeroen339954
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Ad

Apache jclouds and Docker

  • 1. Apache jclouds and Docker Andrea Turli @turlinux
  • 2. What is jclouds? An open source multi-cloud toolkit for the Java platform BlobStore and ComputeService API abstraction for 20+ IaaS providers
  • 3. What is Docker? Docker Engine is an open source container virtualization technology. Virtual Machine Docker From jclouds perspective, Docker is a cloud provider which spins containers up instead of virtual machines
  • 4. Docker REST API Docker 1.3.x contains Docker REST API v1.15 Docker Remote API <- supported by jclouds-docker ○ ContainerAPI ○ ImageAPI ○ MiscAPI Docker Hub API Docker Registry API The API tends to be REST, but for some complex commands, like attach or pull, the HTTP connection is hijacked to transport STDOUT, STDIN and STDERR.
  • 5. Docker Engine daemon configuration By default, the Docker Engine daemon listens on unix:///var/run/docker.sock and the client must have root access to interact with the daemon. Docker Engine daemon can be set to use an (encrypted) TCP socket http://host:2375 https://host:2376 If the Docker Engine daemon is set to use an encrypted TCP socket (--tls, or -- tlsverify) then you need to add extra parameters to curl or wget when making test API requests: curl --insecure --cert ~$DOCKER_CERT_PATH/cert.pem --key ~$DOCKER_CERT_PATH/key.pem https://boot2docker:2376/images/json
  • 6. Docker Remote API : supported by jclouds
  • 7. Example: List Images Auto Value: Immutable value-type code generation for Java 1.6+
  • 9. Building jclouds-docker official: https://github.com/jclouds/jclouds-labs/tree/master/docker latest version (1.3.2): https://github.com/andreaturli/jclouds-labs/tree/1.3.2 TLS (optional; starting from 1.3.0) If you are using boot2docker, set up the following VM options for jclouds-docker: -Dtest.docker.identity=$DOCKER_CERT_PATH/cert.pem -Dtest.docker.credential=$DOCKER_CERT_PATH/key.pem -Dtest.docker.endpoint=https://192.168.59.103:2376 # this is the default, but check with boot2docker up When using encrypted TCP socket, you should know that Docker removed sslv3 from server's TLS supported versions https://github.com/docker/docker/pull/8588/files JDK sslContext.getDefaultSSLParameters().getProtocols() 6 SSLv3, TLSv1, SSLv2Hello 7 SSLv3, TLSv1 To have more fine-grained control, OkHttp driver will be the default choice for providers that need SSL/TLS OkHttpCommandExecutorServiceModule vs JavaUrlHttpCommandExecutorServiceModule
  • 10. References Apache jclouds https://jclouds.apache.org/ Apache jclouds Docker https://jclouds.apache.org/guides/docker/ Docker https://www.docker.com Docker Rest API http://goo.gl/Cuhpcx Google AutoValue https://github.com/google/auto/tree/master/value How to disable SSL v3.0 in JDK and JRE http://goo.gl/ZiK6Z7 OkHttp https://github.com/square/okhttp/