Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Mindfulness Personal Development Personal Transformation Meditation Life Purpose Coaching Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Analysis Data Modeling Data Science
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee

This course includes:

  • 8 hours on-demand video
  • 10 articles
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
Development Development Tools Docker

Docker for Node.js Projects From a Docker Captain

Build, test, deploy Node for Docker, Kubernetes, Swarm, and ARM with the latest DevOps practices from a container expert
Rating: 4.7 out of 54.7 (964 ratings)
8,534 students
Created by Bret Fisher, Docker Captain Program
Last updated 11/2020
English
English
30-Day Money-Back Guarantee

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
Curated for the Udemy for Business collection

Course content

11 sections • 82 lectures • 8h 24m total length

  • Preview06:01
  • Preview03:16
  • Download Course Resources (GitHub Repo)
    00:36
  • Course Chat: 35k Students Learning Containers
    01:07
  • Weekly YouTube Live Q&A with Bret
    00:20

  • Section Intro: Compose Basics
    00:47
  • Getting The Right Docker and Compose Versions
    03:13
  • Why Compose?
    02:37
  • Compose File Format
    06:35
  • docker-compose CLI
    06:52
  • Assignment: Compose CLI Basics
    02:39
  • Assignment Answer: Compose CLI Basics
    08:43

  • Section Intro: Dockerfile Best Practice Basics
    00:58
  • Dockerfile Best Practice Basics
    05:14
  • FROM Base Image Guidelines
    08:46
  • When To Use Alpine, Debian, or CentOS Images
    Preview05:29
  • Assignment Making a CentOS Node Image
    02:53
  • Assignment Answers: Making a CentOS Node Image
    18:07
  • Running Non-root Container Users
    05:27
  • Working With The Node User Limits
    07:56
  • Making Images Efficiently
    08:11

  • Section Intro: Controlling The Node Process
    00:46
  • Node Process Management
    02:49
  • The Truth About the PID 1 Problem
    Preview06:41
  • Proper Node Shutdown Options
    05:44
  • Assignment: Writing Node Dockerfiles
    02:56
  • Assignment Answers: Writing Node Dockerfiles
    12:05
  • Assignment: Testing Graceful Shutdowns
    04:04
  • Assignment Answers: Testing Graceful Shutdowns
    11:25

  • Section Intro: Advanced Node Dockerfiles
    01:06
  • Preview06:33
  • More Multi-stage Uses
    02:24
  • Assignment: Building A 3-Stage Dockerfile
    05:02
  • Assignment Answers: Building a 3-Stage Dockerfile
    15:50
  • BuildKit, The Next Gen Builder
    02:07
  • Using BuildKit to Enable SSH Keys for Private NPM Repositories
    00:47
  • Using BuildKit to Reuse NPM Cache
    00:38

  • Section Intro: Node Apps in Cloud Native Docker
    00:54
  • Cloud Native App Guidelines
    04:54
  • Twelve Factor Apps - Config
    04:05
  • Twelve Factor Apps - Logs
    03:12
  • The .dockerignore File
    04:09
  • Preview09:41
  • Assignment Answers Migrating Traditional Apps
    17:59

  • Section Intro: Compose for Awesome Local Development
    01:08
  • Compose Project Tips
    10:59
  • Preview13:24
  • Node Modules In Images
    04:10
  • Node Modules In Bind-Mounts
    11:24
  • NPM, Yarn and Other Tools in Compose
    05:22
  • File Monitoring and Node Auto Restarts
    08:08
  • Startup Order and Dependencies
    06:38
  • Healthchecks for depends_on
    05:28
  • Shrinking Compose Files and DRY YAML
    03:21
  • Making Microservices Easier with Compose
    12:19
  • VS Code, Debugging and TypeScript
    12:06
  • Assignment: Building a Sweet Compose File
    05:15
  • Assignment Answers: Building a Sweet Compose File
    18:04

  • Section Intro: Making Container Images Production Ready
    01:05
  • Avoiding devDependencies In Prod
    05:29
  • Dockerfile Comments, Arguments, and Labels
    07:54
  • Running Tests During Image Builds
    07:08
  • Preview06:48
  • CI Automated Testing and Proper Image Tags
    07:23
  • Adding Healthchecks
    09:34
  • Assignment: Making Your Ultimate Node.js Dockerfile
    05:50
  • Assignment Answers: Making Your Ultimate Node.js Dockerfile
    25:54
  • Assignment Answers BONUS: Making Your Ultimate Node Dockerfile
    13:43

  • Section Intro
    01:21
  • Node.js Multi-Threaded Concerns
    04:54
  • Preview04:32
  • Node.js Containers With Proxies
    07:41
  • Container Replacement and Connection Management
    07:52
  • Node.js With Container Orchestration
    08:41
  • Node.js With Docker Swarm
    05:52

  • The State of ARM and Docker for Node.js
    04:21
  • Running Node.js ARM Containers For Development
    07:19
  • Running Node.js ARM Container for Production
    05:39
  • The Future of Multi-Arch Docker: Making ARM Easier
    03:32

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

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!

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

"Bret is a naturally born instructor, docker and swarm GURU...Bret gives clear and unbiased recipes for real world scenarios of handling docker files." — Marciej Domanski, Udemy student, Docker Mastery course.

"This speaker is powerful!...The speaker instantly gained my excitement and favor which is exactly what I was hoping would happen. This excellent connection makes it easy for me to follow along." — Kendra, Udemy student, Docker Mastery course.

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.

Thanks so much for considering this course. Come join me and thousands of others in this course (and my others) for learning the latest DevOps tech! - Bret

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

Featured review

Ahmedul Haque Abid
Ahmedul Haque Abid
34 courses
8 reviews
Rating: 5.0 out of 5a year ago
I really like how Bret explained things. Its focused, detailed, edge-cases mentioned and also solves some of the common confusions (like v2 vs v3). Very well done course & I highly recommend to those who are planning to build nodejs app with docker.

Instructors

Bret Fisher
Docker Captain and DevOps Sysadmin
Bret Fisher
  • 4.6 Instructor Rating
  • 49,060 Reviews
  • 220,670 Students
  • 4 Courses

Hey I'm Bret. Thanks for learning about me. I'm a freelance DevOps and Docker consultant, trainer, speaker, and Open Source volunteer working from Virginia Beach, USA. I've helped over 250,000 people learn Docker and DevOps tools and techniques.

I've been a cloud and datacenter ops/sysadmin for more than 20 years. For years I've been exclusive to containers and I help teams Dockerize their apps and systems, and improve their speed of deployment, resiliency, metrics, and awareness. All that DevOps-y stuff.

I'm also a Docker Captain and Code for America Brigade Captain. I run monthly meetups, speak at conferences, and love helping others. I'm obsessed with containerizing any app I see, and I'll likely talk your ear off about it next time we meet.

I sometimes develop in Node.js, Bash, and general web, usually for open source. 

When not working, I crossfit, surf a little, geekout in our awesome local dev community in Virginia Beach, and travel with my Wife.

Please check out my courses and join me with thousands of others who are learning the latest DevOps tools!

Docker Captain Program
Docker Captain Program
  • 4.6 Instructor Rating
  • 51,020 Reviews
  • 232,374 Students
  • 7 Courses

Courses with this co-author signify that the primary author is a verified Docker Captain with Docker Inc.

Docker Captain is a distinction that Docker awards select members of the community that are both experts in their field and are passionate about sharing their Docker knowledge with others. Captains are Docker ambassadors (not employees) and their commitment to sharing their expertise has a huge impact on the Docker community – whether they are blogging, writing books, speaking, running workshops, creating tutorials and classes, offering support in forums, or organizing and contributing to local events – they help make Docker’s mission of democratizing technology possible.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.