illustration for Containerize Full-Stack JavaScript Applications with Docker

Containerize Full-Stack JavaScript Applications with Docker

Instructor

Joel Lord
1h 24m closed-captioning
Star icon$$$
Star icon$$$
Star icon$$$
Star icon$$$
Star icon$$$
4.5
126
people completed
Bookmark
Download
RSS

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.

Credits

Kamil Khadeyev (illustration)

What you'll learn

  • Running existing Docker containers
  • Creating Docker containers for an existing application
  • Passing environment variables
  • Executing bash scripts as part of container building
  • Configure networking between containers
  • Setting up volumes for persisting data
  • Publishing containers to a public registry

Learner Reviews

  • Learner
    3 years ago
    Star icon$$$
    Star icon$$$
    Star icon$$$
    Star icon$$$
    Star icon$$$
    What did you like about this course?

    Awesome course!! I followed an article to learn about these. But this course covered some important tolls and aspects like usage of "jq" and running as a non-root user for security reasons.

  • blainewishart
    3 years ago
    Star icon$$$
    Star icon$$$
    Star icon$$$
    Star icon$$$
    Star icon$$$
    What did you like about this course?

    Explains use of docker images as components. Clear examples.

  • Anandakumar Palanisamy
    3 years ago
    Star icon$$$
    Star icon$$$
    Star icon$$$
    Star icon$$$
    Star icon$$$
    What did you like about this course?

    It was an interesting course on Dockerising applications with industry standard practices. Great job by Jeol. Many Thanks!!!

Course Content

1h 24m • 18 lessons

    You might also like these resources:

    illustration for WTF is Kubernetes (K8s)

    WTF is Kubernetes (K8s)

    Chris Biscardi・12m・Video

    Kubernetes is an API to a computer. Multiple computers actually. Here we'll talk about what K8s is, how you can choose between the plethora of K8s related hosting options, and what the process looks like for getting some containers running.

    illustration for Build a Twelve-Factor Node.js App with Docker

    Build a Twelve-Factor Node.js App with Docker

    Mark Shust・30m・Course

    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.

    illustration for Set up Hasura GraphQL engine with YugabyteDB distributed SQL

    Set up Hasura GraphQL engine with YugabyteDB distributed SQL

    Vladimir Novick・2m・Video

    In this lesson we will see how you can run Hasura GraphQL engine on top of YugabyteDB Distributed SQL

    YugabyteDB is an open source, high-performance distributed SQL database for powering global, internet-scale applications.YugabyteDB is also a cloud-native database, so it can be deployed across both public and private clouds, including Kubernetes environments. In regards to serving as a backend for microservices, YugabyteDB brings together three must-haves: a PostgreSQL-compatible SQL API, low-latency read performance, and globally distributed write scalability. YugabyteDB with its global data distribution brings data close to users for multi-region and multi-cloud deployments.