Slides from the DMV Apache NiFi Meetup Group as presented by Aldrin Piri. This presentation highlights some use cases of running NiFi as a Docker container
2. WHAT IS DOCKER?
A line of khakis, pants and casual clothing
It’s an obscure open source project
3. 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.”
4. 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
5. GLOSSARY FOR THE
TALK
Image
• Binary representation of a filesystem
Container
• Instance of an image
Copy 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
6. ENVIRONMENT
OS X 10.10
Docker Toolbox
• https://www.docker.com/docker-toolbox
Docker, Docker Machine, & Docker Compose
7. DOCKER-MACHINE
Provisions Docker environments
• Locally: Native Docker daemon, VirtualBox
• Cloud: Amazon EC2, Azure, DigitalOcean…
Establishes command line for communicating with instances
8. 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
14. DOCKER NETWORK
Docker’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.
16. 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