Docker Hands-on Workshop
Docker is carefully tucked between virtualization, continuous deployment, and pure awesome. Bring your Windows 10 Pro Anniversary Update or Mac OS X El Capitan 10.11 laptop, and we’ll walk through together getting Docker for Windows or Docker for Mac installed, fired up, and get you building containers for fun and profit.
Our primary objectives are to get you comfortable with Docker and to get Docker running in your environment. This hands-on approach gives you the muscle memory to be successful after the workshop is done.
We’ll focus on these major milestones throughout the day:
– install prerequisites: bios virtualization and Hyper-V (Windows) or HyperKit (Mac)
– install docker community edition: From the Docker Store we’ll grab Docker Community Edition for your chosen platform.
– hello world: We’ll use the docker command-line to run the hello-world Linux container.
– download many images: This takes a while, so getting it started early is good.
– my first container: We’ll craft a dockerfile with a simple website, and build that into a Linux image. I’ll demo Node, but you can bring your technology of choice if you’d like.
– a bigger site: Let’s take it to the next level with a container that consumes external resources: perhaps a REST API, perhaps a database, perhaps an external cache. OS permitting, we can dig into Windows containers.
– volumes: Let’s talk about developer best practices and durable containers as we discuss docker volumes.
– secrets: Where should we store secrets such as connection strings and passwords in a container world? We’ll look at environment variables, startup parameters, and external configuration stores.
– what other docker parameters should we play with? This time is open for your questions and group or individual experimentation.
– designing for the cloud: This is more presentation / discussion, less follow along as we dig into cloud architecture assumptions and micro services, ensuring stateless workloads, retry and deduplicating messages, and eventual consistency.
– docker hub: Share your creations with docker hub. If you’re squeamish about publicizing your learning, we can also look at private registries on Microsoft Azure and Amazon AWS.
– docker compose: We’ll craft a suite of combined services and resources into a single package and turn on and off the entire package at once. We’ll spin up the site, perhaps Redis or a database, perhaps a micro-services api suite.
– docker swarm: Time permitting, we’ll experiment with running docker at scale in production. There are many choices here, and your IT department probably has more opinions here. Kuperneties and Mesos are also great options.
– code, hack, questions, mentor, etc.: The time is yours. What would you like to explore?
What you’ll need
Our goal is to get Docker running in your environment and give you the knowledge to be productive with it going forward. The Docker requirements are **very** specific, so ensure you have **exactly** these features in your Mac or Windows laptop:
– 2010 or newer model with Intel’s MMU virtualization
– OS X El Capitan 10.11 or newer
– 64-bit Windows
– Windows 10 Pro, Enterprise or Education (not Home, not Windows 7 or 8) to install Hyper-V
– Windows 10 Anniversary Update or better
– Access to your machine’s BIOS to turn on virtualization
About Rob Richardson
Rob Richardson is a software craftsman building web properties in ASP.NET and Node, Angular and React. He’s a Microsoft MVP, published author, frequent speaker at conferences, user groups, and community events, and a diligent teacher and student of high quality software development. You can find this and other talks on his blog at https://robrich.org/presentations and follow him on twitter at @rob_rich.
Microsoft MVP in IIS/ASP.NET since 2014
AZGive Camp Founders Award, 2015 and 2016
Red Gate Database Delivery Panel 2013-2014
Friend of Red Gate since 2009
Microsoft Partner: Silver Independent Software Vendor since 2005
Leader, Southeast Valley .NET User Group since 2013
Co-Orgaanizer, ng-phx, the Phoenix Angular meetup since 2016
Co-Author, SQL Source Control Basics
Core contributor to gulp v2 and v3
Part of the AZGiveCamp organizers
.NET Rocks mug recipient
Professional HTML and ASP.NET developer since 2002
Node and Angular developer since 2012
About our Sponsor
Galvanize is the premiere dynamic learning community for technology. With campuses located in booming technology sectors throughout the country, Galvanize provides a community for each the following:
To learn more about Galvanize, visit galvanize.com.