Upping your NiFi Game with Docker

Post on 13-Apr-2017

408 Views

Category:

Software

3 Downloads

Preview:

Click to see full reader

Transcript

🐳+💧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

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!

top related