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

egghead.io

Containerize Full-Stack JavaScript Applications with Docker

via egghead.io

Overview

While "It works on my computer" might give you an excuse to close a bug ticket in the backlog, it doesn't really work when you're working on a team.
You need to ensure that your application can run regardless of what hardware your teammates are running or libraries they have installed.
Docker solves this problem by collecting everything your application needs to run into a container.
Containers aren't just for source code. They can hold configuration, scripts, and even their own filesystem. It's similar to a Virtual Machine, without having to bring a full operating system along for the ride.
Because containers run in isolation, there is some configuration involved to allow for files to be saved and containers to communicate with one another.
One of the most useful ways to get your head around Docker is to see it in action.
Follow along with Joel Lord as he works through the process of preparing an application to run in separate containers for the frontend and backend of an application that searches for gifs and re-encodes them with a caption supplied by the user.
You'll see how to configure the separate containers to communicate with one another, work with environment variables, and persist data to your local machine. Along the way, you'll pick up some tips on useful commands and bash scripting. Finally, you'll learn how to use Docker Compose to make it easy to run multiple containers simultaneously.

Syllabus

  • Course Intro: Containerize Full-Stack JavaScript Applications with Docker
  • Configure and Run a Node.js API Powered by a Vue Application
  • Running Your First Container
  • Use Environment Variables for Docker Containers
  • Run MySQL in Docker Container
  • Integrate a MySQL Docker Container Into an Application
  • Create a Custom Image with a Dockerfile running Node.js
  • Mini talk - Allow Containers to Communicate through Docker Networks
  • Allow Containers to Communicate through Docker Networks
  • Mini talk - Containerize the Front End of an Application with a Multi-Step Docker Build
  • Containerize the Front End of an Application with a Multi-Step Docker Build
  • Mini talk - Access Environment Variables in a Dockerfile to Build a Front-End Container
  • Access Environment Variables in a Dockerfile to Build a Front-End Container
  • Modify a JSON Configuration File with jq
  • Create a Node.js Non-root Image
  • Run an Nginx Image as Non-Root Within a Multi-Step Docker Build Process
  • Push a Docker Container Image to Docker Hub
  • Use Docker Compose To Share An Entire Application

Taught by

Joel Lord

Reviews

4.5 rating at egghead.io based on 26 ratings

Start your review of Containerize Full-Stack JavaScript Applications with Docker

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.