Course Intro: Containerize Full-Stack JavaScript Applications with Docker

Joel Lord
InstructorJoel Lord
Share this video with your friends

Social Share Links

Send Tweet
Published 4 years ago
Updated 4 years ago

This course will take you through the process of preparing an application that's configured for development to deployed on a Kubernetes cluster.

First, you will need to tweak your application so that it can run in containers. Then, you will see how you can use containers to complement your application and run a database without even installing the actual software. Eventually, you will create a whole environment with your containers that will enable you to start all the applications with a single command. This can be useful to share the application with your colleagues.

We'll make sure you have the correct software installed on your machine to get started.

You will need a few software installed:

As well as an API key from giphy

Joel Lord: [0:00] Hi, and welcome to this two-part course on containerization and Kubernetes deployment. In this first course, you will learn the basics of containers. In the second part, to be released early 2021, you will learn more about container orchestration and how to deploy containers in a Kubernetes cluster.

[0:19] In the next lessons, we will start by taking an application that was configured for a development environment and prepare it to eventually be deployed on a Kubernetes cluster. This will be done step-by-step.

[0:32] First, you will need to tweak your application so that it can run in containers. Then, you will see how you can use containers to complement your application and run a database without even installing the actual software.

[0:45] Eventually, you will create a whole environment with your containers that will enable you to start all the applications with a single command. This can be very useful to share the application with your colleagues. I hope you're excited to learn about all of this.

[1:01] If you're ever blocked, if you need any help, or even just to say, "Hi," you can easily get in touch with me via Twitter. My handle is @joel__lord. Yes, there's two underscores there. I usually answer back rapidly. My DMs are always open if you need to get in touch. Before you get started, you'll need a few things.

[1:23] First, the application is built with Node.js. It will be useful but not necessary to have Node.js installed on your machine so you can test everything locally. If you don't have Node.js installed, don't worry. You won't be able to run the application locally, but as you learn more about containers, you will see how you can use those to run the application without actually installing Node.js.

[1:47] If you want to install Node, you can go to nodejs.org to find the installation instructions for your operating system. Speaking of operating system, I'm using using a macOS system on my machine. The instructions that we'll show will work both on Linux and macOS but might not always work on Windows.

[2:07] I will assume you have the necessary knowledge about your operating system command line tools to be able to navigate the folder structure and copy files around. You shouldn't need more than that.

[2:17] Next, you will need a container runtime. The examples in this course will be using Docker, so you will need to install it for your operating system. Installation instructions can be found at docker.com. If you are using a Linux-based operating system, you can also use Podman instead, which is a little faster than Docker. You can find more information on Podman at podman.io.

[2:41] If you choose to use the latter, you can create an alias with the command alias docker=podman, so you can still use the exact same instructions that will be specified in this course. Podman uses the exact same syntax as Docker, which makes it easy to switch from one to the other.

[2:58] In order to download the source code of this application, it will be useful to have Git installed on your machine. You can find out more about Git at git-scm.com.

[3:10] Finally, this application will use GIPHY as a source of random images. Now, [laughs] I don't want to exceed my daily quota of random gifs, so you will need to use your own API key. You can find out how to do so by going to developer.giphy.com, and then click on the Get Started button. From there, follow the instructions to create your first application and to get your API key.

[3:33] If you don't want to install those tools, there is a container that has all the tooling necessary that was already created for you to use. The only thing you will need to get this started is Docker. If you have Docker installed, you can use the command in the tools/course-env.sh file to start the container with all the tools installed. You will even be able to run Docker from within this container.

[3:58] That's all you need for now. You're ready to get started and to explore the wonderful world of container.

egghead
egghead
~ 22 minutes ago

Member comments are a way for members to communicate, interact, and ask questions about a lesson.

The instructor or someone from the community might respond to your question Here are a few basic guidelines to commenting on egghead.io

Be on-Topic

Comments are for discussing a lesson. If you're having a general issue with the website functionality, please contact us at support@egghead.io.

Avoid meta-discussion

  • This was great!
  • This was horrible!
  • I didn't like this because it didn't match my skill level.
  • +1 It will likely be deleted as spam.

Code Problems?

Should be accompanied by code! Codesandbox or Stackblitz provide a way to share code and discuss it in context

Details and Context

Vague question? Vague answer. Any details and context you can provide will lure more interesting answers!

Markdown supported.
Become a member to join the discussionEnroll Today