Date post: | 13-Apr-2017 |
Category: |
Software |
Upload: | aldrin-piri |
View: | 411 times |
Download: | 3 times |
🐳+💧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!