Skip to main content

Docker for Node.js Projects From a Docker Captain

8h 14m 12s
English
Paid

Welcome to the ultimate course for integrating Docker with Node.js projects! Whether you're new to using these powerful technologies together or seek to refine your skills, "Docker for Node.js Projects" by Bret, an Award-Winning Docker Captain and DevOps community leader, is designed to help you master the art of creating efficient, secure, and scalable applications. With years of experience since 2012, let me guide you through a seamless learning journey of Docker and Node.js integration.

Course Requirements and Preparations

Stay ahead with Docker's cutting-edge features to enable your Node.js apps to build faster, smaller, and operate more securely. Understanding the do's and don'ts when using Node.js with Docker is crucial, and this course offers extensive information on both.

A wealth of assignments awaits you; we'll explore various Node.js and Docker combinations, including single-container CLI apps, database-backed web apps, popular frameworks like Express.js and hapi.js, and even complex distributed microservices.

Prerequisites: Ensure you know the basics of Docker and Node.js before diving in. Consider starting with my foundational Docker Mastery course if you're new to Docker.

Testimonials from Learners

"Bret is amazing. His expertise and dedication to his users are unparalleled. Whether it's direct messages, live broadcasts, or newsletters, Bret constantly supports his students." — David Olson

"Great introduction. Bret provides excellent resources and instructions. He is the authority on Docker. It's worth every penny." — Joseph Martinez

Course Highlights

  • Automated security scanning for Node.js images.

  • Harness Docker's BuildKit with advanced tools like SSH Agents and NPM Caches.

  • Debug Node.js within Docker using VS Code and docker-compose.

  • Stay up-to-date with the latest features in Docker Desktop.

  • Master BuildKit and Multi-stage Builds for optimal Dockerfile customization.

  • Create custom Node.js images with CentOS and Alpine.

  • Implement graceful shutdown for zero-downtime deployments.

  • Explore Docker Swarm and Kubernetes deployments for Node.js.

  • Simplify microservice solutions with advanced Docker Compose features.

Additional Resources

  • Join our Slack Chat team for real-time help and advice from me and fellow students.

  • Participate in Weekly YouTube Live Q&A sessions for direct interaction and learning.

  • Access bonus videos and receive course updates as new features emerge.

Learning Outcomes

Begin with a quick Docker setup review, followed by in-depth explorations of Node.js Dockerfile basics and advanced Docker concepts, ensuring your foundation is robust for learning new features. You'll delve into Dockerfile efficiency, distributed computing, and the transition of legacy apps to modern containers.

As you progress, you'll explore Compose features for local development and testing, address production-ready image creation, and cover deploying containers using Kubernetes or Swarm, with emphasis on HTTP connections and reverse proxies.

Your final project will bring all learned components together in a challenging and rewarding context, reinforcing your newly acquired skills.

Why Learn from Me?

  • Practical Experience: With over 20 years in sysadmin and development, and countless Node.js and Docker projects, I bring authentic industry insight.

  • Educational Expertise: Awarded at DockerCon, I've trained thousands to master Docker through hands-on sessions worldwide.

  • Community Leadership: As a Docker Captain, I lead local meetups and contribute online, offering real-world and educational perspectives.

Course Ethical Contribution

A portion of this course's profit will support open source projects and online freedoms through charities like the Electronic Frontier Foundation. This reflects the community's collaborative ethos that enables this learning experience.

Who Should Enroll?

  • Node.js developers acquainted with Docker basics seeking advanced containerization techniques.
  • Build engineers optimizing testing setups and CI/CD workflows.
  • New developers aiming to adhere to best practices with Docker and Node.js.
  • Server operators wanting to boost deployment efficiency and Node.js app stability.
  • Docker enthusiasts desiring secure Node.js deployment techniques.

What You’ll Learn

  • Optimize local development for Node.js with Docker.
  • Efficient collaboration in a Docker-using team.
  • Enhance Node.js build and testing speed and reliability.
  • Tune Node.js for development, testing, and production environments.
  • Design Docker images for Kubernetes and Swarm.
  • Learn to secure and maintain your Node.js applications.

About the Author: udemy

udemy thumbnail
By connecting students all over the world to the best instructors, Udemy is helping individuals reach their goals and pursue their dreams. Udemy is the leading global marketplace for teaching and learning, connecting millions of students to the skills they need to succeed. Udemy helps organizations of all kinds prepare for the ever-evolving future of work. Our curated collection of top-rated business and technical courses gives companies, governments, and nonprofits the power to develop in-house expertise and satisfy employees’ hunger for learning and development.

Watch Online 72 lessons

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