NOT Dockers
Containers vs VMs
Images
"An image is a lightweight, stand-alone, executable package that includes everything needed to run a piece of software, including the code, a runtime, libraries, environment variables, and config files."
Containers
"A container is a runtime instance of an image. It runs completely isolated from the host environment by default, only accessing host files and ports if configured to do so."
Layered Images
OS
OS
Language
OS
Language
App A
OS
Language
App B
23c8f5cc...
1ba4a96f...
e0cbfd1e...
8e31a349...
Container Life Cycle
Docker Registry
- Imágenes Oficiales
- Imágenes públicas
- Imágenes privadas
- Verificación de seguridad
- Construcción automática
Demo
Dockerfiles
# Use an official Python runtime as a parent image
FROM python:2.7-slim
# Set the working directory to /app
WORKDIR /app
# Copy the current directory contents into the container at /app
ADD . /app
# Install any needed packages specified in requirements.txt
RUN pip install -r requirements.txt
# Make port 80 available to the world outside this container
EXPOSE 80
# Define environment variable
ENV NAME World
# Run app.py when the container launches
CMD ["python", "app.py"]
Demo
Docker Compose
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
- logvolume01:/var/log
links:
- redis
redis:
image: redis
volumes:
logvolume01: {}
Docker Swarm
Docker Swarm
Docker
By Sebastian Diaz
Docker
- 79