Docker Intro and Week 19 Roadmap


What is Docker

What are Docker containers?

shipping container


Docker containers

  • containers are isolated
  • containers are ephemeral
  • containers are lightweight
  • containers are reproducible

Docker containers

  • containers are isolated
    • cannot interact with the rest of your computer, or other containers (except in specific ways)
  • containers are ephemeral
    • you make them when you need one, and you can get rid of them when you're done
  • containers are lightweight
    • single-purpose, only contain what they need
  • containers are reproducible
    • make the same container over and over again

Who and what is it useful for?

Many things

  • Collaboration
  • Trying out new tools
  • DevOps
  • Scientists
  • Deploying a website!

Docker topics

  • Setup and practice navigating inside a container (today)
  • Docker containers (Tuesday)
  • Docker Images and Dockerfiles (Wednesday)
  • Docker-compose (Thursday)
  • Microservices (Optional)

Today

  • set up Docker
  • explore alpine linux
    • a minimal linux distribution
  • in this project
    • no direct access to your computer's file system
    • interactions through the command line

Docker containers (Tuesday)

  • a docker container is a lightweight package which contains all the software and dependencies to run a single process
  • we'll explore containers & use the command line interface to work with them

Docker images (Wednesday)

  • docker images are templates for building docker containers
  • allows you to make the same containers over and over
  • you can customize an image using a Dockerfile

Docker-compose (Thursday)

  • easily spin up a collection of containers, and configure them to communicate with one another

Friday

  • multi-threading demo
  • walkthrough the project skeleton
  • group project planning

Today's itinerary [1/2]

Docker introduction:

  • Watch this video, which is also listed under lecture for tomorrow: 12-minute Docker Overview
  • Non Technical Overview of Docker (reading)

Docker installation (if docker is not already installed):

  • Docker Installation (reading)
    • If you want to test your installation:
    • docker container run --rm hello-world

Today's itinerary [2/2]

Docker project:

  • Installing Packages on Alpine Linux (video)
  • Notes for Installing Packages on Alpine Linux (reading)
  • Linux Basics (reading)
  • Trying Out Alpine Linux (project)
Select a repo