Tutorial: Deploying Scalable NodeJS app using ECS with Docker

Submitted By: Harkirat Singh, Harman Gill,Muhammad Imran Malik, Mauro Pappatera

 

 

Table of Contents

 

What is Docker

Docker is a tool designed to make it easier to create, deploy, and run applications by using containers. Containers allow a developer to package up an application with all of the parts it needs, such as libraries and other dependencies, and ship it all out as one package.

Features of Docker

  • "Virtualizes” the application layer
  • Runs your app in a lightweight sandboxed environment
  • bunch of CRUD on top of Linux cgroups
  • Layered filesystem
  • Has A registry

Docker vs VM

In a way, Docker is a bit like a virtual machine. But unlike a virtual machine, rather than creating a whole virtual operating system, Docker allows applications to use the same Linux kernel as the system that they're running on and only requires applications be shipped with things not already running on the host computer. This gives a significant performance boost and reduces the size of the application.



Docker Hub

Docker Hub is a cloud-based registry service which allows you to link to code repositories, build your images and test them, stores manually pushed images

With this, you can build, push and share the app with millions of users from a centralized server. Docker hub is where you find the most popular docker images like wordpress, ubuntu , mongo etc.


Installing docker

sudo apt-get install linux-image-extra-`uname -r`

curl -SSL https://get.docker.com/ubuntu/ | sudo sh

Running docker


Docker Registry


Push to registry


Pull from registry



CS6320 Project 2 ECS Tutorial.

Submitted By:Harkirat Singh, Harman Gill,Muhammad Imran Malik, Mauro Pappatera