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 developed by Sanjeev Thiyagarajan. Check out his channel: https://www.youtube.com/channel/UC2sYgV-NV6S5_-pqLGChoNQ

?? 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

Learn to code for free and get a developer job: https://www.freecodecamp.org

Read hundreds of articles on programming: https://freecodecamp.org/news

And subscribe for new videos on technology every day: https://youtube.com/subscription_center?add_user=freecodecamp