This presentation, given at the Nashville VMUG Converge 2015 event on April 8, 2015, provides an overview of Vagrant and Docker as tools that VMware administrators might find useful.
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
An Introduction to Vagrant and Docker
1. An Introduction to Vagrant
and Docker
Scott Lowe
http://blog.scottlowe.org
2. Before we begin
☞ Get involved! Audience participation is requested and
encouraged.
☞ If you use Twitter, feel free to tweet about this session (use
@NashvilleVMUG or hashtag #NashvilleVMUG)
☞ Feel free to take photos or videos of today's session and share
them online
☞ A PDF copy of this presentation will be available online after
the event
3.
4. What is Vagrant?
☞ A CLI-based tool for streamlining the use of VM environments
(creation, provisioning, usage, & decommissioning)
☞ Available from http://www.vagrantup.com
5. A "VM environment"?
☞ Think of this as one or more VMs (based on a user-specified
template) along with networking and possible in-guest software
customization
☞ Examples
☞ The classic "3 tier" web/app/DB topology
☞ Trying out new technologies (CoreOS and etcd cluster, Open
vSwitch)
6. Use cases for Vagrant
☞ Sharing VM environments with other users
☞ Accelerating the creation of VM environments
☞ Automating software provisioning inside VM environments
☞ Providing a CLI for creating/destroying/accessing VM
environments
9. Vagrant provider
☞ Interfaces with back-end virtualization solution
☞ Vagrant comes with a provider for VirtualBox
☞ Provider for VMware desktop products (Fusion & Workstation)
available for a fee
☞ Other providers available as open source projects
☞ See https://github.com/gosddc for examples
10. Vagrant box
☞ Template used when creating VM environments in Vagrant
☞ Boxes are provider-specific
☞ Packer is a related product that can be used to help build
Vagrant boxes
11. Vagrantfile
☞ A text file (written with Ruby syntax) that describes the VM
environment
14. What is Docker?
☞ A CLI tool for simplifying the use of Linux containers
☞ Available from https://www.docker.com
15. What are Linux containers?
☞ Linux containers can be thought of as "lightweight
virtualization" or "OS virtualization"
☞ Leverage features built into the Linux kernel (cgroups and
namespaces)
☞ Linux containers have been around for a while, but weren't
very easy to use
16. Use cases for Docker
☞ Rapidly deploy (or un-deploy) containers
☞ Simplify the creation of custom container images
☞ Make sharing container images very easy
18. Docker daemon
☞ Responsible for spawning containers
☞ As a daemon, it runs in the background
☞ By default, listens on a local Unix socket (can be configured to
listen on a network port)
19. Docker client
☞ CLI client for interacting with the Docker daemon
☞ Can run locally on the same system as the daemon, or remotely
(daemon must be listening on a network port)
20. Docker image
☞ The contents of a Docker container
☞ Comprised of multiple filesystem layers
☞ Stored locally, can be shared via the Docker Hub
☞ Images can be based on other images
26. Thank you!
Be sure to provide feedback to the VMUG leaders regarding this
session.
Blog: http://blog.scottlowe.org
Twitter: @scott_lowe
GitHub: https://github.com/lowescott
Life: Colossians 3:17