Docker for Node.js Projects From a Docker Captain

8h 14m 12s
English
Paid

Course description

Welcome to the best course on the planet for using Docker with Node.js! With your basic knowledge of Docker and Node.js in hand, Docker Mastery for Node.js is a course for anyone on the Node.js path. This course will help you master them together. I'm your instructor Bret, an Award Winning Docker Captain, DevOps community leader, and a bestselling Udemy author. I built this course for you because I live and breathe Docker containers, and I've enjoyed using Node.js since 2012. They work great together, and I'll show you how!

Read more about the course

Learn the cutting edge features of Docker in 2019 that will make your Node.js apps build faster, smaller, and run more securely and reliability. Containers and Node.js are two of the hottest and most popular topics in tech.

It's just as important to know what not to do, as well the best ways to use Node.js in Docker, and I teach a huge amount of info in this course for do's and don'ts with Node.js in Docker.

You want assignments? We go through assignments using all sorts of Node.js + Docker setups. Single-container CLI apps, database-backed web apps, Express.js, hapi.js, distributed micro-service apps, Angular, Websockets, HTTP Proxies, MongoDB with proper connection shutdown, and more.

**NOTE: Be sure you know Docker basics and Node.js basics before starting this course. I suggest my Docker Mastery course first if you are new to Docker. Also read the course requirements!**

"...Bret is amazing. You can tell he knows exactly what he is talking about and enjoys helping others. I have never seen someone so involved with his user base as Bret. Direct messages via slack, live youtube broadcasts, newsletters, etc. I don't know how he does it... I would seriously buy any course that Bret puts out because I have no doubts that it will be excellent." — David Olson, Udemy student, Docker Mastery course.

"Great introduction. Bret delivers great resources and instructions. He is the guy you want to learn from when it comes to Docker. The real deal. Worth the money and more." —Joseph Martinez, Udemy student, Docker Mastery course

Some of the many cool things you'll do in this course:

  • Build Node.js Images that auto-scan for security vulnerabilities

  • Use Docker's cutting-edge BuildKit with SSH Agents and NPM Caches for better image building

  • Use docker-compose with Visual Studio Code for full Node.js debug support in Docker

  • Ensure you're using all the latest features of Docker Desktop

  • Use BuildKit and Multi-stage Builds to create minimal and flexible Dockerfiles

  • Build custom Node.js images using distro's like CentOS and Alpine

  • Test Docker init, tini, and Node.js as a PID 1 process in containers

  • Create Node.js apps that properly startup and respond to healthchecks

  • Build graceful shutdown code into your apps for zero-downtime deploys

  • Dig into HTTP connections with orchestration, and how Proxies can help

  • Study examples of Docker Swarm and Kubernetes deployments for Node.js

  • Migrate traditional (legacy) Node.js apps into containers

  • Simplify your microservice solutions with advanced Docker Compose features

Extra things that come with this course:

  • Access to the course Slack Chat team, for getting help/advice from me and other students.

  • Weekly YouTube Live Q&A's where you can ask me questions live.

  • Bonus videos I put elsewhere like YouTube and share via Udemy announcements.

  • Tons of reference links to supplement this content.

  • Updates to content as products change their features on these topics.

What you will learn in this course:

You'll start with a quick review about getting set up with Docker, as well as Docker Compose basics. That way we're on the same page for the basics.

Then you'll jump into Node.js Dockerfile basics, that way you'll have a good Dockerfile foundation for new features we'll add throughout the course.

You'll be building on all the different things you learn from each Lecture in the course. Once you have the basics down of Compose, Dockerfile, and Docker Image, then you'll focus on nuances like how Docker and Linux control the Node process and how Docker changes that to make sure you know what options there are for starting up and shutting down Node.js and the right way to do it in different scenarios.

We'll cover advanced, newer features around making the Dockerfile the most efficient and flexible as possible using things like BuildKit and Multi-stage.

Then we'll talk about distributed computing and cloud design to ensure your Node.js apps have 12-factor design in your containers, as well as learning how to migrate old apps into this new way of doing things.

Next we cover Compose and its awesome features to get really efficient local development and test set-up using the Docker Compose command line and Docker Compose YAML file.

With all this knowledge, you'll progress to production concerns and making images production-ready.

Then we'll jump into deploying those containers and running them in production. Whether you use Docker Engine or orchestration with Kubernetes or Swarm, I've got you covered. In addition, we'll cover HTTP connections and reverse proxies for connection handling and routing with multi-container systems.

Lastly, you'll get a final, big assignment where you'll be building and deploying a large, complex solution, including multiple Node.js containers that are doing different things. You'll build Docker images, Dockerfiles, and compose files, and deploy them to a server to test. You'll need to check whether connections failover properly. You'll basically take everything you've learned and apply it in one big project!

"Bret knows, lives, breaths and loves his technology stack. The passion and belief always comes through in all of his courses which is why I will always recommend his work." — Steven Hunt, Udemy student, Docker Swarm Mastery course

Why should you learn from me?

  • I'm A Practitioner. Welcome to the real world: I've got more than 20 years of sysadmin and developer experience, over 30 certifications, and have been using Docker and Node.js for myself and my consulting clients since their early days. With me, you’re learning from someone who's helped run many hundreds of container apps across dozens of projects and organizations.

  • I'm An Educator. With me, you’ll learn from someone who knows how to make a syllabus: I want to help you. People say I'm good at it. I won a 2018 Leadership Award at DockerCon for helping others learn. For the last few years I've trained thousands of people on using Docker in workshops, conferences and meetups. See me teach at events like DockerCon, O'Reilly Velocity, GOTO, and Linux Open Source Summit.

  • I Lead Communities. Also, I'm a Docker Captain, which means Docker Inc. thinks I know a thing or two about Docker and that I do well in sharing it with others. In the real-world: I run two local meetups in our fabulous tech community in Norfolk/Virginia Beach USA. I help online: usually in Slack and Twitter, where I learn from and help others.

"This is the best teacher i know, not because he teaches me, but because he forces me to learn for myself in the framework he has set." — Fabian Letsch, Udemy student, Docker Mastery course.

Giving Back: a portion of my profit on this course will be donated to supporting open source and protecting our freedoms online! This course is only made possible by the amazing people creating open source. I'm standing on the shoulders of (open source) giants! Donations will be split between my favorite charities including the Electronic Frontier Foundation and Free Software Foundation. Look them up. They're awesome!

This is a living course, and will be updated as features and workflows change.

This course is designed to be fast at getting you started but also get you deep into the "why" of things. Simply the fastest and best way to learn the latest docker skills. Look at the scope of topics in the Sessions and see the breadth of skills you will learn.

Also included is a private Slack Chat group and weekly Live YouTube Q&A for getting help with this course and continuing your Docker, Node.js, and DevOps learning with help from me and other students.

Requirements:

  • Know Docker 101: the Docker basics like images, containers, and docker networks
  • Know NodeJS 101: Understand NodeJS language and frameworks basics
  • Know the basics of command lines and shells, and packages managers like apt or yum
  • Familiar with the basics of programming, cloud computing, and how to deploy apps to servers
  • Use a modern Linux, Windows, or macOS computer that supports Docker

Who this course is for:
  • NodeJS developers with basic Docker knowledge who want to use the best that containers has to offer
  • NodeJS build engineers who want to improve their testing setups and CI/CD workflows
  • New NodeJS developers who want to use Docker with all the best practices for Node
  • Server operators who want to optimize their deployments and improve the stability of their NodeJS apps
  • Docker users who want to understand the best and most secure ways to deply and use NodeJS

What you'll learn:

  • Optimize your local development setup for NodeJS in Docker
  • Operate smoothly in a team of NodeJS developers using Docker and Compose
  • Improve the speed and reliability of your Node builds and testing using Docker
  • Get the best NodeJS tweaks to use for dev, test, and prod
  • Design NodeJS images for use with Kubernetes and Swarm
  • Learn about security scanning and locking-down your NodeJS apps

Watch Online

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 72 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing

Watch Online Docker for Node.js Projects From a Docker Captain

0:00
/
#1: Introduction and Course Roadmap

All Course Lessons (72)

#Lesson TitleDurationAccess
1
Introduction and Course Roadmap Demo
06:02
2
Getting The Most Out Of This Course
03:17
3
Section Intro: Compose Basics
00:48
4
Getting The Right Docker and Compose Versions
03:14
5
Why Compose?
02:38
6
Compose File Format
06:36
7
docker-compose CLI
06:53
8
Assignment: Compose CLI Basics
02:40
9
Assignment Answer: Compose CLI Basics
08:44
10
Section Intro: Dockerfile Best Practice Basics
00:59
11
Dockerfile Best Practice Basics
05:15
12
FROM Base Image Guidelines
08:47
13
When To Use Alpine, Debian, or CentOS Images
05:30
14
Assignment Making a CentOS Node Image
02:54
15
Assignment Answers: Making a CentOS Node Image
18:08
16
Running Non-root Container Users
05:28
17
Working With The Node User Limits
07:57
18
Making Images Efficiently
08:12
19
Section Intro: Controlling The Node Process
00:47
20
Node Process Management
02:50
21
The Truth About the PID 1 Problem
06:42
22
Proper Node Shutdown Options
05:45
23
Assignment: Writing Node Dockerfiles
02:57
24
Assignment Answers: Writing Node Dockerfiles
12:06
25
Assignment: Testing Graceful Shutdowns
04:05
26
Assignment Answers: Testing Graceful Shutdowns
11:26
27
Section Intro: Advanced Node Dockerfiles
01:07
28
Multi-stage Docker Builds
06:34
29
More Multi-stage Uses
02:25
30
Assignment: Building A 3-Stage Dockerfile
05:03
31
Assignment Answers: Building a 3-Stage Dockerfile
15:51
32
Section Intro: Node Apps in Cloud Native Docker
00:55
33
Cloud Native App Guidelines
04:55
34
Twelve Factor Apps - Config
04:06
35
Twelve Factor Apps - Logs
03:13
36
The .dockerignore File
04:10
37
Assignment Migrating Traditional Apps
09:42
38
Assignment Answers Migrating Traditional Apps
18:00
39
Section Intro: Compose for Awesome Local Development
01:09
40
Compose Project Tips
11:00
41
Bind-Mounting Code, Optimizing for Performance
13:25
42
Node Modules In Images
04:11
43
Node Modules In Bind-Mounts
11:25
44
NPM, Yarn and Other Tools in Compose
05:23
45
File Monitoring and Node Auto Restarts
08:09
46
Startup Order and Dependencies
06:39
47
Healthchecks for depends_on
05:29
48
Making Microservices Easier with Compose
12:20
49
VS Code, Debugging and TypeScript
12:07
50
Assignment: Building a Sweet Compose File
05:16
51
Assignment Answers: Building a Sweet Compose File
18:05
52
Section Intro: Making Container Images Production Ready
01:06
53
Avoiding devDependencies In Prod
05:30
54
Dockerfile Comments, Arguments, and Labels
07:55
55
Running Tests During Image Builds
07:09
56
Security Scanning During Image Build
06:49
57
CI Automated Testing and Proper Image Tags
07:24
58
Adding Healthchecks
09:35
59
Assignment: Making Your Ultimate Node.js Dockerfile
05:51
60
Assignment Answers: Making Your Ultimate Node.js Dockerfile
25:55
61
Assignment Answers BONUS: Making Your Ultimate Node Dockerfile
13:44
62
Section Intro
01:22
63
Node.js Multi-Threaded Concerns
04:55
64
Why Not Use Compose In Production?
04:33
65
Node.js Containers With Proxies
07:42
66
Container Replacement and Connection Management
07:53
67
Node.js With Container Orchestration
08:42
68
Node.js With Docker Swarm
05:53
69
The State of ARM and Docker for Node.js
04:22
70
Running Node.js ARM Containers For Development
07:20
71
Running Node.js ARM Container for Production
05:40
72
The Future of Multi-Arch Docker: Making ARM Easier
03:33

Unlock unlimited learning

Get instant access to all 71 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Node with React: Fullstack Web Development

Node with React: Fullstack Web Development

Sources: udemy, Stephen Grider
Go beyond the basics of React and Redux! This course will teach you to combine the ultra-popular React, Redux, Express, and MongoDB technologies to build a fullstack web applic...
25 hours 36 minutes 19 seconds
Build a Full-Stack Chrome Extension with NodeJS and MongoDB

Build a Full-Stack Chrome Extension with NodeJS and MongoDB

Sources: udemy
In this course, we'll be developing a new Full-Stack Chrome Extension that Scrapes Amazon, and automatically saves Product Data within a MongoDB Database. Our f
6 hours 15 minutes 12 seconds
Node.js, Express, MongoDB Bootcamp 2020 - with Real Projects

Node.js, Express, MongoDB Bootcamp 2020 - with Real Projects

Sources: udemy
If you are willing to become a backend web developer using latest technologies that you are at right place. This course is all about backend development with mo
14 hours 21 minutes 12 seconds
Docker and Kubernetes - The Complete Developers Guide

Docker and Kubernetes - The Complete Developers Guide

Sources: udemy
In this course we will take you from a Docker and Kubernetes novice to job ready engineer. This course is loaded with diagrams and practical examples so that you can truly under...
12 hours 40 minutes 38 seconds