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