Build a Twelve-Factor Node.js App with Docker
Learn how to setup a full software development deployment process and Dockerize a Node.js app with MongoDB and Express. Scale and deploy with ease.
In this course we will take a simple Node.js app that connects to a MongoDB database and uses an Express web server, and learn how to setup a full software development deployment process as well as how to properly “Dockerize” the app.
We’ll step through setting up proper version control techniques, managing configuring within the environment, setting up proper build/deploy/run processes, and all with abiding by Docker best practices. We’ll also make sure our deployment is setup for scale, and have consistent development practices in place for reliable app deployments.
Summary & Concepts of the Twelve-Factor App
Pin Down NPM Package Versions with Yarn.lock
Use Git Flow as a Reliable Version Control Model
Manage Configuration Values with Environment Variables
Proxy Requests for Local and Remote Service Parity
Build, Release and Run Containers with Docker Compose
Run Stateless Docker Containers
Export Services with Docker Port Binding
Scale Docker Horizontally with Nginx Load Balancing
Ensure Containers Run with High-Availability
Run Consistent Dev, Stage & Prod Docker Environments
Pipe Log Output to STDOUT with Docker
Run One-Off Docker Containers