<style>
.present {
text-align: left;
}
</style>
# Docker Intro and Week 19 Roadmap
---
## What is Docker
#### What are Docker containers?
![shipping container](https://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/MAERSK_MC_KINNEY_M%C3%96LLER_%26_MARSEILLE_MAERSK_%2848694054418%29.jpg/1920px-MAERSK_MC_KINNEY_M%C3%96LLER_%26_MARSEILLE_MAERSK_%2848694054418%29.jpg)
---
### 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](https://www.youtube.com/watch?v=YFl2mCHdv24)
- 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)
{"metaMigratedAt":"2023-06-16T02:31:56.898Z","metaMigratedFrom":"Content","title":"Docker Intro and Week 19 Roadmap","breaks":true,"contributors":"[{\"id\":\"b3d4b64b-bcb9-47ce-975c-f84011d6c2f4\",\"add\":2827,\"del\":0}]"}