Finally, a Docker tutorial
that dives deep

Learn how to use Docker in development, testing, and production.

Get started immediately! You'll receive course modules
Dockerizing Your Applications and get updates on any new announcements!

Want more? Learn more about containers!

  free willy

If you're tired of diving into incomplete / outdated documentation, or getting no response to your questions, this course is for you!

Taylor 'The Man' Otwell

Taylor Otwell, creator of Laravel

What You'll Learn


This is a comprehensive course in the many uses of Docker.
From playing to developing, testing to deploying, we'll cover it all in a way that is easy to understand.

Development

We start with the basics and quickly move into how to use Docker in development.

We'll cover:

  • Installing Docker
  • Getting familiar with the docker command
  • Running containers, seeing their intended uses and limitiations
  • Building and managing images
  • Efficient Dockerfiles
  • Using multiple containers
  • Orchestrating containers with docker-compose
  • Development Workflows

Testing & CI

We use Docker to create a testing and CI process.

We'll cover:

  • Setting up and controlling Docker with docker-machine
  • Installing and configuring Jenkins
  • Automating code tests and image builds
  • Saving images to private Docker registries, backed by S3
  • Creating a CI workflow (automated testing) with Jenkins

Production

Docker in production is complex. We’ll see how the latest tooling makes it easier.

We'll cover:

  • Docker in production on singe-hosts
  • Using Docker Registry notifications
  • What docker swarm is and how to use it
  • Advanced Docker networking
  • Building a multi-server production environment
  • Automating rolling deployments

What people are saying:


https://www.youtube.com/watch?v=L1BDM1oBRJ8

Get started immediately! You'll receive course modules
Dockerizing Your Applications and get updates on any new announcements!

Want more? Learn more about containers!

Available Modules

1. Docker Basics

Installing Docker for Mac/Windows

The Docker Commands

Your First Container

Inspecting Containers

Cleaning Up

Interacting With a Container (bash)

Nginx & Sharing Ports

Sharing Volumes

Review

2. Docker Images & Everyday Use

Committing Changes

The Dockerfile

Building a PHP Image

Linking Nginx & PHP Containers

Pushing to Docker Hub

Linking the Full Stack

Docker Networking

Docker Volumes

Review

3. Addendum 1

Official Images on Docker Hub

Advanced Dockerfiles: MySQL

4. Wrangling Containers with Docker Compose

Introducing Docker Compose

Docker Compose Basics

Serving a Real Application

Building Images with Docker Compose

Explaining the “docker-compose up” Command

Variables with Docker Compose

Extending Docker Compose Files

5. Addendum 2

Using mysqldump With Docker

Using SequelPro with Docker

6. Dockerizing Your Applications

Dockerizing Your Application Intro

Getting Started with an App

Creating our Project Images

Our Basic Docker Compose File

A Better Docker Compose File

"This Is Ridiculous, We Need Help"

The Workflow You Always Wanted

Extending Docker Compose for Dev and CI

Docker Compose Details for CI (and faster tests!)

Review Time!

7. Remote Docker Servers with Docker Machine

Introducing Docker Machine

Docker Machine with AWS

Docker Compose with Docker Machine

File Permissions with Docker

Installing Docker “Manually”

8. Addendum 3

Reviewing Docker Volumes, Permissions, and Network

9. CI with Jenkins

Installing Jenkins

Configuration Jenkins and Github

Automating Tests

Dealing with Secrets

Cleaning Up After Ourselves

10. Preparing Continuous Delivery

Building Production Images

A Local Private Registry

An S3-Backed Private Registry

11. Single-Host Docker Production Setup

Server Setup and Running the App

Application State

Naive Deployment

Rolling Deployment

Automating Deployments

12. Multi-Host, Production Setup with Swarm

What is Docker Swarm

Server Cluster Setup

Registry with Swarm

Running Applications

Load Balancer as Entry Point

Rolling Updates

Docker Secrets

DNS and Service Discovery


The course is ready to buy!
Learn how to effectively use Docker in development, testing, and in production!

🐳   Buy Now $139.00

About

the true grumpy programmer, don't be fooled by imitation

I'm Chris Fidao. I wrote the Servers for Hackers eBook, and publish related videos at the Servers for Hackers video site. I also curate the Servers for Hackers newsletter, which is read by over 12,000 programmers who want to learn about servers.

I'm also the author of the Deploy PHP! video series, a video series about automating your deployments. A few years ago, I wrote Implementing Laravel, a book all about coding in Laravel - now offered free!

FAQ

What is this?

Shipping Docker is a video series about Docker.

Is the course complete?

Shipping Docker is now officially released, although that doesn't mean I'm done adding new videos to it!

Is future content free?

Yes! Future added videos are free for those who have purchased Shipping Docker.

However, for any really huge topics (like if I added a start-to-finish Kubernetes course), I may decide to make that an "upgrade", at extra cost.

Is Shipping Docker free?

No, Shipping Docker is not free. However, I do have a ton of free Docker videos! You can find some premium ones by signing up above and by visiting the Container section of the site.

I signed up and got some free courses - Are these a large portion of the actual course?

Only the Dockerizing Your Application course is an actual module with Shipping Docker. All other courses and videos are free, extra lessons that expand on some specific aspects of Docker.

The full Shipping Docker course goes into more detail, including covering many "gotchas" / trouble areas that you are likely to hit.

What shell theme am I using in the videos?

I'm using the zsh shell, via oh-my-zsh. The theme is "agnoster". You'll need the Powerline font - details here.