Upload
aldrin-piri
View
421
Download
3
Embed Size (px)
Citation preview
š³+š§UPPING YOUR NIFI GAME WITH DOCKER29 OCTOBER 2015
Aldrin Piri@aldrinpiri
WHAT IS DOCKER?A line of khakis, pants and casual clothing
Itās an obscure open source project
WHAT IS DOCKER?āDocker is an open platform for building, shipping and running distributed applications. It gives programmers, development teams and operations engineers the common toolbox they need to take advantage of the distributed and networked nature of modern applications.ā
DOCKER IS AN ECOSYSTEM
Docker Hub https://hub.docker.com/ā¢ A registry of available images
Toolingā¢ Linux provides a native experienceā¢ Windows & OS X make use of a VM and
associated tools
People and Organizations
GLOSSARY FOR THE TALKImage
ā¢ Binary representation of a filesystemContainer
ā¢ Instance of an imageCopy on Write
ā¢ Images are untouched until changes are needed, at which point a new copy is created
Volumesā¢ Bridge the external host world into the container
ENVIRONMENTOS X 10.10Docker Toolbox
ā¢ https://www.docker.com/docker-toolbox
Docker, Docker Machine, & Docker Compose
DOCKER-MACHINEProvisions Docker environments
ā¢ Locally: Native Docker daemon, VirtualBox
ā¢ Cloud: Amazon EC2, Azure, DigitalOceanā¦
Establishes command line for communicating with instances
DOCKERā¢ Run images to create containers
ā¢ The lifespan of a container is tied to the process that originates itā¢ Defaults specified via ENTRYPOINT or CMD
ā¢ Specify arguments on run inclusive of providingā¢ Volumesā¢ Links to other running containers (unidirectional network mappings via
an alias)ā¢ Environment variablesā¢ Exposed Portsā¢ Alternate ENTRYPOINT/CMD
ā¢ If an image is present, it will attempt to be pulled from the Docker Hub and locally cached
OUR BASE DOCKER IMAGEaldrin/apache-nifi
ā¢ Docker Hubā¢ https://hub.docker.com/r/aldrin/apache-nifi/
ā¢ Sourceā¢ https://github.com/apiri/dockerfile-apache-nifi
WHERE DOES IT ALL COME FROM?Dockerfile is our source code
WHERE DOES IT ALL COME FROM?An image is our compiled binary
DOCKER FOR DEVELOPINGVolumes allow mapping libraries directly into the environment
Links allow interacting with services at defined aliases
CLUSTERING
DOCKER NETWORKDockerās libnetwork makes great strides in increasing the networking model
ā¢ Service Discoveryā¢ Pluggable drivers
Unfortunately, it has not been releasedā¢ Coming soon: ~1.9.0
There are a few ways to handle this with the current release inclusive of running a DNS server/service discovery, but we are going a simple route for ease.
ENTER AMBASSADORSProvides service/container portability as links are hardcoded
Manager Node
ManagerAmbassador
NodeAmbassador
INTRODUCING DOCKER COMPOSE
ā¢ Originally a project called fig
ā¢ Provides the definition and running of multi-container applications
ā¢ YAML descriptor files
ā¢ docker-compose drives controlling the application
DOCKER-COMPOSE.YML
RESOURCESDocker
ā¢ https://www.docker.com/
Visualizing Docker Containers and Imagesā¢ http://merrigrove.blogspot.com/2015/10/visualizing-docker-containers-and-
images.html
Jess Frazelle - Dockerize everythingā¢ Container Hacks and Fun Images Presentation
ā¢ https://www.youtube.com/watch?v=1qlLUf7KtAwā¢ https://github.com/jfrazelle
Source Code and āScriptāā¢ https://github.com/apiri/docker-with-nifi
THANKS!