Skip to content

Latest commit

 

History

History
64 lines (58 loc) · 2.18 KB

File metadata and controls

64 lines (58 loc) · 2.18 KB

import { Head } from 'mdx-deck' import { Split } from 'mdx-deck/layouts'

export { default as theme } from './theme'

<title>Docker Day</title>

What is Docker?


A tool that lets you run your apps in containers!

What's a container?


"Standard unit of software that packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another."

- Docker's Website
--- ## But how does it work? Each containers uses an **image**: a lightweight, standalone, executable package of software that includes everything needed to run an application: code, runtime, system tools, system libraries and settings.

Images become containers when they run on the Docker Engine.

Why Containers?


  1. Standardized
  2. Lightweight
  3. Secure
1. Standardized
    Docker created the industry standard for containers, so they could be portable anywhere
2. Lightweight
    Containers share the machine’s OS system kernel and therefore do not require an OS per application, 
    driving higher server efficiencies and reducing server and licensing costs
3. Secure
    Applications are safer in containers and Docker provides the strongest default 
    isolation capabilities in the industry

    if you just installed mysql and node on the same server, and your database was hacked, 
    they have access to everything in docker, if your database is hacked, 
    doesn't mean they have access to the node app

Use Cases

  • Containerizing Legacy Applications for Portablitity
  • Replace Large Monolith Applications with Microservices
  • Automate Workflows for Development and Deployment
  • Versioned Images for Rollback, A/B Testing, etc

Additional Technologies


Let's pull our first container

$ docker run hello-world