Slide 1

Slide 1 text

Docker 101 Docker 101 Miguel Angel Gordián @ilcapitanozoek

Slide 2

Slide 2 text

Docker Docker Imágenes y Contenedores Imágenes y Contenedores Ciclo de vida Ciclo de vida Volumenes Volumenes Compose Compose

Slide 3

Slide 3 text

Es una plataforma para el desarrollo, administración y ejecución de contenedores. Docker engine es el sistema de virtualización combinado con un conjunto de herramientas para aislar y administrar tus aplicaciones. Docker hub servicio para compartir imágenes.

Slide 4

Slide 4 text

Componentes Componentes Imágenes Es el elemento base, el cual contiene las dependencias, la aplicación y algunas configuraciones. Contenedores Es la instancia de una imagen, está aislado del sistema y puede sobre escribir las configuraciones por defecto. Stacks Es un conjunto de contenedores que definen un servicio.

Slide 5

Slide 5 text

Imagen Imagen Podemos obtener imágenes desde un registry o construirlas por medio de un Dockerfile tomando una imagen como base. docker pull composer/composer docker pull redis FROM php:5.6-cli EXPOSE 8080 ADD . /app WORKDIR /app ENTRYPOINT php -S 0.0.0.0:8080 src/index.php Dockerfile

Slide 6

Slide 6 text

Instrucciones Instrucciones FROM Indica la imagen que tomaremos como base base RUN ejecuta un comando en una nueva capa intermedia para la construcción del contenedor. WORKDIR indica el directorio base, por defecto se ejecutarán comandos a partir de este directorio. ADD Copia los archivos locales al contenedor. ENTRYPOINT Indica el comando a ejecutar por el contenedor.

Slide 7

Slide 7 text

Construcción Construcción Solo necesitas ejecutar el sub comando build y darle un tag a tu imagen. docker build -t php-junio . Sending build context to Docker daemon 4.608 kB Sending build context to Docker daemon Step 0 : FROM composer/composer ---> b87b6a34ca39 Step 1 : ADD . /app ---> ac10ddaf2e5f Removing intermediate container 5fe467d8b756 Step 2 : WORKDIR /app ---> Running in feae9da8b08a ---> 17e508381433 Removing intermediate container feae9da8b08a Step 3 : RUN composer install ---> Running in 474d3dbe699e

Slide 8

Slide 8 text

Contenedores Contenedores Podemos partir de cualquier imagen si tenemos su id o tag. docker run -it --rm -p 80:8080 php-session

Slide 9

Slide 9 text

Opciones Opciones -i mantiene stdin abierta -t Asigna una pseudo-tty -rm Elimina el contenedor después de su uso. -p Enlaza un puerto del contenedor al host -v Asigna un volumen al contendor.

Slide 10

Slide 10 text

Ciclo de vida Ciclo de vida Docker ps Mostrar contenedores activos Docker images Mostrar todas mis imágenes Docker start Inicia un contenedor Docker stop Detiene un contenedor activo Docker rm/rmi Borran un contenedor o imagen respectivamente.

Slide 11

Slide 11 text

Compose Compose Es una herramienta para definir y ejecutar aplicaciones con múltiples contenedores. mongo: image: mongo junio: build: . command: "php -S 0.0.0.0:8080 src/index.php" ports: - "80:8080" volumes: - ".:/app" links: - mongo