Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction to Docker and NodeJs - Ofir Makmal

Introduction to Docker and NodeJs - Ofir Makmal

Avatar for Sela Developer Meetup

Sela Developer Meetup

April 25, 2018
Tweet

More Decks by Sela Developer Meetup

Other Decks in Technology

Transcript

  1. What's wrong with how we do things now? - Slow

    Deployment time - Wasted Resources - Difficult to Scale - Dificult to Migrate - Dependencies Hell - Hard to monitor application
  2. What is Docker Docker is an open-source project that automates

    the deployment of applications inside software containers, by providing an additional layer of abstraction and automation of operating system–level virtualization on Linux. [Source: en.wikipedia.org]
  3. What Are Containers • Each guest instance is called a

    container • Container is an instance of a Docker Image • Containers are resource controlled, and portable between operating environment • Container is an isolated place where an application can run without affecting the rest of the system and without the system affects the application
  4. Each virtualized application includes the application itself and the necessary

    dependencies (packages, libraries) and could weigh 10-100’s MB, and in addition, it also include an entire host operating system - which may weigh 10’s of GB. Virtual Machines The Docker container comprises with just the application and its dependencies. It runs as an isolated process in the operating system’s user space, sharing the kernel with other containers. Thus, it enjoys the resource isolation and allocation benefits of VMs but with better portability and efficiency. Docker Containers Virtual Machines vs. Docker Containers
  5. Docker Registry • Docker Registry is the ‘App Store’ for

    Docker images • DockerHub is the Official public repository for Docker ◦ But you can install your own, or use your cloud provider’s repository • Uses a GIT-like terminology - push & pull • Docker can share common layers between Docker images
  6. Dockerfile Basic elements: • Define base image • Copy source

    files • Download dependencies • Define entry-point Many optional parameters.
  7. Stuff that we don’t have time to talk about (And

    still, we should mention them) • Docker Networking & Volumes • Docker Compose • Container Orchestration Platform - Swarm, Mesos, Kubernetes
  8. Recap - Simplify application Packaging & Shipping - Re-invent CI\CD

    - Consistent experience between Dev and Production - Cloud Agnostic & Multi Platform - Super-easy to scale - Perfect for Microservices architecture - Enhance operational and resource efficiency