Deploying a Rails 6 app in production mode using Docker and Docker Compose on a Digital Ocean droplet. See pinned comment for a timestamped table of contents.
Timeline:
0:00:00 Introduction
0:00:45 Docker on Linux vs Docker on Windows
0:01:40 Docker Machine for Windows Home Edition
0:02:50 My Own Struggles with Docker
0:05:08 What is a Container?
0:10:50 Ignoring Files and Folders with .dockerignore
0:11:45 What is Docker Compose?
0:13:02 What is a Dockerfile?
0:13:45 What is Digital Ocean (Virtual Private Servers)
0:17:19 Spinning up a VPS on Digital Ocean
0:21:40 Base Docker Images and Docker Hub
0:23:04 Setting an Environment Variable in the Container
0:23:28 Installing Library and Program Dependencies on the Container
0:26:03 Setting the Working Project Director and App-Specific Environment Variables
0:28:07 Copying files into a Container and Fetching App Dependencies into the Container
0:29:40 Quick Recap of Dockerfile Steps
0:30:07 Precompile Rails Assets and Final Dockerfile Step
0:30:43 Docker Containers are Disposable, So What About Databases
0:31:19 Using Docker Compose to Coordinate and Link Multiple Containers
0:31:49 Docker Compose Volumes
0:32:55 Docker Compose Services - The Database Container
0:34:34 Docker Compose Services - The App Container
0:40:25 Docker Compose Service Dependencies And Supporting Server Restarts
0:41:05 Running Docker Compose to Start Things Up
0:42:20 Fetching Source and Docker Configs Via Github
0:43:20 Building the Containers with: docker-compose build
0:46:08 The docker-compose CLI and Running Commands (like migrations and seeding) on Containers