Learn the core fundamentals of Docker by building a Node/Express app with a Mongo & Redis database.

We’ll start off by keeping things simple with a single container, and gradually add more complexity to our app by integrating a Mongo container, and then finally adding in a redis database for authentication.

We’ll learn how to do things manually with the cli, then move on to docker compose. We’ll focus on the challenges of moving from a development environment to a production environment.

We’ll deploy and Ubuntu VM as our production server, and utilize a container orchestrator like docker swarm to handle rolling updates.

⭐️ Course Contents ⭐️

  • 0:00:14 Intro & demo express app
  • 0:04:18 Custom Images with Dockerfile
  • 0:10:34 Docker image layers & caching
  • 0:20:26 Docker networking opening ports
  • 0:26:36 Dockerignore file
  • 0:31:46 Syncing source code with bind mounts
  • 0:45:30 Anonymous Volumes hack
  • 0:51:58 Read-Only Bind Mounts
  • 0:54:58 Environment variables
  • 0:59:16 loading environment variables from file
  • 1:01:31 Deleting stale volumes
  • 1:04:01 Docker Compose
  • 1:21:36 Development vs Production configs

Part 02: Working with multiple containers

  • 1:44:47 Adding a Mongo Container
  • 2:01:48 Communicating between containers
  • 2:12:00 Express Config file
  • 2:21:45 Container bootup order
  • 2:32:26 Building a CRUD application
  • 2:51:27 Sign up and Login
  • 3:06:57 Authentication with sessions & Redis
  • 3:34:36 Architecture Review
  • 3:40:48 Nginx for Load balancing to multiple node containers
  • 3:54:33 Express CORS

Part 03: Moving to Prod

  • 3:57:44 Installing docker on Ubuntu(Digital Ocean)
  • 4:03:21 Setup Git
  • 4:05:37 Environment Variables on Ubuntu
  • 4:14:12 Deploying app to production server
  • 4:18:57 Pushing changes the hard way
  • 4:25:58 Rebuilding Containers
  • 4:27:32 Dev to Prod workflow review
  • 4:30:50 Improved Dockerhub workflow
  • 4:46:10 Automating with watchtower
  • 4:56:06 Why we need an orchestrator
  • 5:03:32 Docker Swarm
  • 5:16:13 Pushing changes to Swarm stack

#docker #devops #node #express

Learn Docker - DevOps with Node.js & Express
22.45 GEEK