Docker
by André Freitas

1. Docker Engine
1.1. Daemon that runs in Linux
1.1.1. In Mac and Windows you need a Virtual Machine
1.2. Remote HTTP API
2. Image
2.1. We build an image from a Dockerfile
2.2. Name of the image (NAMESPACE/IMAGE:TAG)
2.2.1. Namespace
2.2.1.1. The registry/repository of images
2.2.2. Image
2.2.2.1. The name of the image
2.2.3. Tag
2.2.3.1. Version
2.3. Example
2.3.1. docker.ndrive.com/auth:production
3. Dockerfile
3.1. They have instructions to build an image
3.2. Instructions
3.2.1. FROM
3.2.2. COPY
3.2.3. RUN
3.2.4. ENTRYPOINT
3.2.5. CMD
4. Architecture
4.1. Docker Client
4.1.1. The client you use to run containers
4.1.2. Comunicates with Docker Engine
4.2. Diagram
5. Docker Compose
5.1. YAML format
5.2. Run a stack of multiple containers
6. Docker Machine
6.1. Creates Linux Virtual Machines with the Docker Engine ready
6.2. Setups the connection with the daemon
6.3. Used in Mac and Windows
6.4. Example
6.4.1. docker-machine create -d virtualbox default
7. Registry
7.1. Allows push and pull of images
7.2. Is a repository of images
7.3. Example
7.3.1. docker.ndrive.com
8. Container
8.1. Is an instance of an Image with parameters
8.2. Example:
8.2.1. docker run -it python:3