Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

freeCodeCamp

Learn Docker - DevOps with Node.js & Express

via freeCodeCamp

Overview

This course teaches learners the core fundamentals of Docker by guiding them through building a Node/Express app with a Mongo & Redis database. By starting with a single container and gradually adding complexity, students will learn to work with Docker manually using the CLI and then progress to using Docker Compose. The course focuses on the challenges of transitioning from a development environment to a production environment, deploying on an Ubuntu VM, and utilizing a container orchestrator like Docker Swarm for handling updates. The intended audience for this course includes developers interested in DevOps practices and containerization.

Syllabus

Intro & demo express app.
Custom Images with Dockerfile.
Docker image layers & caching.
Docker networking opening ports.
Dockerignore file.
Syncing source code with bind mounts.
Anonymous Volumes hack.
Read-Only Bind Mounts.
Environment variables.
loading environment variables from file.
Deleting stale volumes.
Docker Compose.
Development vs Production configs.
Adding a Mongo Container.
Communicating between containers.
Express Config file.
Container bootup order.
Building a CRUD application.
Sign up and Login.
Authentication with sessions & Redis.
Architecture Review.
Nginx for Load balancing to multiple node containers.
Express CORS.
Installing docker on Ubuntu(Digital Ocean).
Setup Git.
Environment Variables on Ubuntu.
Deploying app to production server.
Pushing changes the hard way.
Rebuilding Containers.
Dev to Prod workflow review.
Improved Dockerhub workflow.
Automating with watchtower .
Why we need an orchestrator.
Docker Swarm.
Pushing changes to Swarm stack.

Taught by

freeCodeCamp.org

Reviews

Start your review of Learn Docker - DevOps with Node.js & Express

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.