Utilidades Docker imprescindibles:docker-slim

Docker-slim es una utilidad que usa análisis estático y dinámico para crear imágenes “ligeeras” de otras imágenes.

Docker-slim se ofrece como un binario para Linux y Mac y se usa así:

Donde friendlyhello es la imagen a limpiar.

En el ejemplo se pasa de una imagen de 194 MB:

A una de 25 MB:

Docker-slim es capaz de trabajar con imágenes Java, Node, Python y Ruby.

Utilidades Docker imprescindibles: watchtower

Watchtower monitoriza contenedores en ejecución y busca cambios en las imágenes desde las que se arrancaron los contenedores. Si detecta cambios automáticamente reiniciar el contenedor usando la nueva imagen.

Además watchtower es una imagen Docker por lo que se ejecuta como cualquier otro contenedor:

En su documentación podéis ver las opciones que ofrece:

¿Qué es containerd?

En diciembre de 2016 Docker ha separado su funcionalidad de core container Runtime en un componente y proyecto separado denominado containerd.

Este componente será donado a una fundación neutral a principios de 2017, con el objetivo de dividir la plataforma Docker en una arquitecura modular de componentes desacoplados:

Esta iniciativa puede sorprender, ya que en los últimos 3 años conforme la adopción de Docker se estandarizó Docker es una plataforma completa para construir, enviar y ejecutar aplicaciones distribuidas, cubriendo muchas áreas funcionales desde la infraestructura hasta la orquestación. Docker ofrece a los desarrolladores y operadores herramientas para ser más productivos sin tener que desarrollar desde 0, con containerd ofrece un componente básico que proporciona las primitivas y puede usarse sin el resto del ecosistema.

Containerd se va a extender con el input de cloud providers como Alibaba Cloud, AWS, Google, IBM y Microsoft.

Containerd 1.0 (Q2 de 2017) proveerá las primitivas core que permitirán gestionar containers Linux y Windows:

· Ejecución y supervisión de Containers

· Distribución de Imágenes

· Gestión de Interfaces de Red

· Almacenamiento local

· API native plumbing

· Soporte OCU completo

En esta versión 1.0 tanto Docker como AWS ECS, Microsoft ACS, Kubernetes, Mesos o Cloud Foundtry podrán usar containerd:

Ver Arquitectura Containerd

8 Hechos sobre adopción de Docker (en DataDog)

Conforme a este estudio de DataDog (producto que permite monitorizar aplicaciones, servidores, clouds,… todo de forma centralizada y que usan grandes como HP, Citryx,…)

1. La adopción de Docker se ha multiplicado por 5 en un año (en DataDog)

2. Docker corre en el 6% de host monitorizados por DataDog

3. Las grandes compañías son los Early Adopters

4. 2/3 de las empresas que prueban Docker lo adoptan

5. Usuarios triplican el número de contenedores que usan en 3 meses

6. Las imágenes más usadas son Registry, NGINX y Redis

7. Las máquinas Docker corren 4 contenedores de media

8. Las VMs viven 4 veces más que los contenedores

Leer más

DZone Refcard: Getting Started with Docker

Un nuevo Refcardz de DZone de los imprescindible (más en esta tecnología tan de moda actualmente!!!):

Muy clara su tabla de conceptos Docker:

· Docker Images A recipe or template for creating Docker containers. It includes the steps for installing and running the necessary software.

· Docker Container Like a tiny virtual machine that is created from the instructions found within the Docker image originated

· Docker Client Command-line utility or other tool that takes advantage of the Docker API (https://docs.docker.com/reference/api/docker_remote_api) to communicate with a Docker daemon

· Docker Host A physical or virtual machine that is running a Docker daemon and contains cached images as well as runnable containers created from images

Leer más

Docker y Kubernetes en 3 sesiones

Imprescindible este training de Christina Posta!!!

Creo que es la mejor forma de iniciarse en Docker y Kubernetes, sobre todo para desarrolladores Java (en el primer día ya desplegaremos una aplicación Java sobre Wildfly):

· Intro / Prep Environments

· Day 1: Docker Deep Dive

· Day 2: Kubernetes Deep Dive

· Day 3: Advanced Kubernetes: Concepts, Management, Middleware

· Day 4: Advanced Kubernetes: CI/CD, open discussions