0% encontró este documento útil (0 votos)
33 vistas66 páginas

Introducción a Docker y Dockerfile

Este documento explica conceptos básicos sobre Docker como contenedores, imágenes, Dockerfile y cómo usar comandos como docker ps y docker build. Define qué es Docker, para qué sirve y conceptos clave como contenedor, imagen, estado de contenedor. Luego explica cómo crear una imagen usando un Dockerfile y comandos RUN, FROM, COPY, entre otros. Finalmente, detalla cómo listar y construir contenedores con los comandos docker ps y docker build.

Cargado por

netcat72984
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
33 vistas66 páginas

Introducción a Docker y Dockerfile

Este documento explica conceptos básicos sobre Docker como contenedores, imágenes, Dockerfile y cómo usar comandos como docker ps y docker build. Define qué es Docker, para qué sirve y conceptos clave como contenedor, imagen, estado de contenedor. Luego explica cómo crear una imagen usando un Dockerfile y comandos RUN, FROM, COPY, entre otros. Finalmente, detalla cómo listar y construir contenedores con los comandos docker ps y docker build.

Cargado por

netcat72984
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

101

Juani Gallo
@JuaniGallo

Programador
Emprendedor

Founder

[Link]
1. Que es Docker

2. Como escribir un Dockerfile

3. Manejo de contenedores e imagenes


¿Qué es Docker?
Docker es un proyecto de código abierto que automatiza el despliegue
de aplicaciones dentro de contenedores de software, proporcionando una capa
adicional de abstracción y automatización de virtualización de aplicaciones en
múltiples sistemas operativos.
🤔
🤔
🤔🤔
🤔🤔
Docker crea una computadora virtual adentro de tu computadora con todo lo
necesario para correr tu aplicación.
¿Para que sirve Docker?
• Para correr nuestra aplicación con la
misma infraestructura que producción
• Para simplificar el onboarding de nuestra
aplicación
• Levantar servicios en distintos lenguajes
sin tener que instalar todo lo relacionado a
cada uno de ellos
1. Para correr nuestra aplicación con la
misma infraestructura que producción

2. Para simplificar el onboarding de nuestra


aplicación

3. Levantar servicios en distintos lenguajes


sin tener que instalar todo lo relacionado
a cada uno de ellos
Conceptos básicos
Container

Un contenedor es una pieza de software que contiene todo lo necesario


para correr una aplicación (código + dependencias).

Un container siempre tiene un estado asignado y los estados


disponibles son: “created”, “restarting”, “running”, “removing”,
“paused”, “exited” y “dead”
Created

El contenedor se creo sin errores pero no esta corriendo. Este estado


es útil para cuando queremos crear un contenedor pero todavía no
utilizarlo
Restarting

El contenedor se esta reiniciando. Este estado puede darse en el caso


que desde un comando reiniciemos el contenedor o bien por un error
relacionado a código en el mismo.
Running

Nuestro contenedor esta creado y corriendo sin ningún problema


Removing

El contenedor se esta removiendo pero todavía sigue creado, en este


momento ya no podemos acceder al mismo
Paused

El contenedor esta creado pero pausado. En este estado podemos


acceder al contenedor pero su código no está en ejecución
Exited

Podemos llegar a este estado porque el container termino de ejecutar


su código de forma correcta o bien porque se encontró con algún
problema durante su ejecución. Si su “status code” es 0 quiere decir
que el container termino sin problemas, cualquier otro numero distinto
de 0 implica que el container no termino su ejecución de forma correcta.
Dead

Es el estado terminal del container. Usualmente se da cuando el


container pierde acceso de escritura a archivos necesarios para
funcionar.
Aplicación con un único container

Container

Código

Dependencias

Docker

Sistema operativo
Aplicación con tres containers

Container Container Container

Código Código Código

Dependencias Dependencias Dependencias

Docker

Sistema operativo
containers
Docker crea una computadora virtual adentro de tu computadora con todo lo
necesario para correr tu aplicación.
Image

Una imagen es una plantilla creada a partir de una serie de instrucciones


para luego crear containers en base a esta. Para crear imágenes vamos
a crear un archivo llamado Dockerfile.

En [Link] podes encontrar una biblioteca con


muchísimas imágenes públicas (por ejemplo: Ubuntu, NGINX, Mongo,
Node)
Instalemos Docker
MacOS

Desde MacOS Sierra 10.12 para arriba

[Link]

Si tiene un OS más antiguo que Sierra 10.12, hay que instalar


Docker Toolbox

[Link]
Ubuntu
sudo apt-get update

sudo apt-get install apt-transport-https ca-certificates curl


gnupg-agent software-properties-common

curl -fsSL [Link] |


sudo apt-key add -

sudo apt-key fingerprint 0EBFCD88

sudo add-apt-repository "deb [arch=amd64] https://


[Link]/linux/ubuntu $(lsb_release -cs) stable"

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli [Link]


[Link]
Otras distros de Linux

Ubuntu: [Link]

Debian: [Link]

Fedora: [Link]

CentOS: [Link]
Windows 7, 8 o 10 versión “Pro” 64 bits

[Link]

Hay que crearse una cuenta y descargar el Docker Desktop


Windows 7, 8 o 10 versión “Home” 64 bits

Para versiones que no son Pro o versiones viejas de


Windows, hay que instalar el Docker Toolbox

[Link]
[Link]

El Docker Toolbox instala 3 archivos, Docker Quickstart,


Oracle VM y Kitematic.

Una vez instalado hay que activar el Hyper-V en la BIOS de la


PC.
Activar Hyper-V (Windows)

En todas las PCs se entra al BIOS de una manera diferente, HP suele ser F1,
Lenovo F8, muchas otras es Supr, hay que apretar este botón varias veces
cuando apenas se prende la PC. Vamos a entrar a una pantalla azul con
varias opciones, cada PC tiene su propia configuración, lo que vamos a tener
que buscar es la opción “Security” o “Configuration”, una vez dentro vamos a
tener que pasar a “enable” la opción que diga: “Hyper-V”, puede también
llamarse “Virtualization”, “Intel Vitualization” o “VTX”.

Una vez que Hyper-V está activado, ya podemos volver a iniciar el Windows y
abrir el ejecutable: “Docker Quickstart”.
[Link]
Dockerfile
¿Qué es un Dockerfile?

Es un documento de texto que contiene todos los comandos que vamos


a ejecutar a la hora de crear nuestra imagen. Se podría decir que
nuestro Dockerfile va a ser la receta que Docker va a seguir para poder
crear nuestra imagen.
FROM

El comando FROM nos va a servir para basar nuestra nueva imagen en


una imagen ya existente (las podemos ver en: [Link]
Este comando siempre tiene que ser el primero en nuestro Dockerfile
RUN

El comando RUN nos va a servir para correr comandos en una terminal


dentro de nuestro container. Esto es util para cambiar configuración a
nivel sistema operativo o bien instalar paquetes de forma global.
CMD

El comando CMD nos va a servir para indicarle a nuestra imagen que


comando tiene que correr por defecto al crear nuestro container. En caso
de que nuestro comando contenga parámetros hay que escribir el
comando en formato de array[]
EXPOSE

El comando EXPOSE nos va a servir para indicarle a nuestro container


que puerto escuchar mientras este corriendo. Esto es especialmente útil
para cuando estamos corriendo un servidor.
WORKDIR

El comando WORKDIR nos va a servir para indicarle a nuestra imagen


que directorio tiene que usar como base para los comandos que
modifiquen el sistema de archivos. En caso de que no exista el directorio
indicado, Docker lo va a crear.
COPY

El comando COPY nos va a servir para copiar archivos desde nuestra


computadora a nuestra imagen de Docker. Con el comando COPY
podemos copiar archivos o directorios completos.
COPY

El comando COPY nos va a servir para copiar archivos desde nuestra


computadora a nuestra imagen de Docker. Con el comando COPY
podemos copiar archivos o directorios completos.

Imagen docker

Nuestra computadora
ENV

El comando ENV nos va a servir para crear variables de ambiente dentro


de nuestra imagen. Por ejemplo para indicarle si estamos en un
ambiente de testing o productivo.
¿Qué hace este Dockerfile?
¿Qué hace este Dockerfile?
Se rompe
¿Qué hace este Dockerfile?
[Link]
[Link]
Instrucciones básicas
docker ps

El comando docker ps nos sirve para listar todos los contenedores que
actualmente estén corriendo.

En caso de querer ver los contenedores que ya terminaron o murieron en el


pasado, podemos correr el comando docker ps -a
docker ps
Identificador unico Hace cuanto que fue
generado por Docker creado el contenedor
docker ps

Imagen asociada Comando CMD que corrimos


al contenedor en nuestro Dockerfile

Puerto en el que esta corriendo nuestro


Nombre de nuestro
Estado actual del contenedor contenedor
contenedor
Puerto computadora -> puerto contenedor
docker build

El comando docker build nos sirve para crear una imagen en base a un
Dockerfile

El uso normal del comando es: docker build . lo que nos va a generar una
imagen en base a un Dockerfile situado en esa misma carpeta.
Para crear una imagen

+
docker build


docker images

El comando docker images nos sirve para listar todas las imágenes que
creamos
docker images
El nombre de docker images
nuestra imagen Hace cuanto fue creada
nuestra imagen

Peso de nuestra
El tag/version de El identificador unico de imagen
nuestra imagen nuestra imagen
docker run

El comando docker run nos sirve para crear un container a partir de una
imagen
Proyecto a Dockerizar
GitHub

[Link]
¡A codear! 💪
Slides

[Link]

101
WWW.SLIDEFOREST.COM
Juani Gallo
@JuaniGallo
Programador
Emprendedor
Founder
1. Que es Docker
2. Como escribir un Dockerfile
3. Manejo de contenedores e imagenes
¿Qué es Docker?
Docker es un proyecto de código abierto que automatiza el despliegue 
de aplicaciones dentro de contenedores de software, pro
🤔
🤔
🤔🤔
🤔🤔
🤔
🤔🤔
🤔
Docker crea una computadora virtual adentro de tu computadora con todo lo 
necesario para correr tu aplicación.
¿Para que sirve Docker?
• Para correr nuestra aplicación con la 
misma infraestructura que producción

También podría gustarte