Podcast de Redes de Eduardo Collado

Podcast de Redes de Eduardo Collado


Docker personal

November 23, 2020

Cuando pensamos en cualquier tipo de virtualización por alguna razón pensamos en grandes servidores, empresas de hosting, grandes empresas, pero pocas veces pensamos en nuestros portátiles y para eso tenemos el Docker Personal.

Como ya sabéis hay muchos tipos de virtualización o de paravirtualización, KVM, VMware, LXC, Docker … en fin hay muchas soluciones en esa línea.

Y al final todas estas soluciones sirven para ayudar a grandes empresas, a PyMES, a cualquier otro tipo de organización y por supuesto, a personas individuales.

Las personas individuales también podemos usar algún tipo de virtualización si es que nos es útil y nos puede servir como herramienta.

La virtualización personal no es solo virtualbox, de hecho es probable que necesitéis algún tipo de virtualización ligera para hacer alguna tarea específica o para tener distintas configuraciones.

Docker es una herramienta maravillosa y muy ligera que nos permite virtualizar lo que se llaman contenedores en cualquier sitio, incluso nuestro portátil.

¿Para qué uso yo docker?

Evidentemente cada caso es un mundo y cada uno usa las herramientas que tiene disponible de manera diferente.

En mi caso para poder realizar mi trabajo necesito una serie de herramientas instaladas en el ordenador y tardo un rato cada vez que tengo que utilizar una máquina diferente en dejarla preparadita.

Una solución maravillosa para eso es docker.

Si utilizara, por ejemplo, Virtualbox, podría instalar una debian virtualizada y luego con Ansible hacer esto mismo, pero los recursos necesarios en docker y el tiempo de provisión no tiene nada que ver y si me sirve docker entocnes docker es la solución.

En mi caso lo único que necesito es un debian con cinc workstation, y un par de paquetes más. Las versiones tienen que ser muy concretas y tengo que incluir las configuraciones de todo esto.

Hay varias formas de hacerlo, pero quizás la más sencilla es un Dockerfile.

El Dockerfile

El Dockerfile no es más que un fichero donde le indicamos a docker como generar la imagen que necesitamos.

Una configuración muy simple sólo requiere 4 tipos de comandos diferentes:

* FROM* RUN* ADD* ENTRYPOINT

Lo primero que tenemos que decirle a nuestro Dockerfile es la imagen que vamos a tomar como base, porque lo que normalmente se hace es utilizar una imagen base y a partir de ahí añadir o modificar todo lo que sea necesario.

En mi caso la imagen base es la última de debian, así que pongo

FROM debian:latest

Así cada vez que se actualice Debian y que genere de nuevo mi imagen a partir del Dockerfile la generará con la debian actualizada.

Ese FROM deberá de ser la primera línea.

Una cosa que yo siempre hago es añadir un usuario para no trabajar directamente como root, esto lo hacemos con el comando RUN seguido de la instrucción en bash para hacer esto:

RUN useradd -rm -d /home/eduardo -s /bin/bash -g eduardo -G sudo -u 1000 eduardo

Y le ponemos una password:

RUN echo 'eduardo:mi_password' | chpasswd

Y acto seguido actualizar el sources.list para que use los repositorios españoles:

RUN sed -i 's/\/\/deb./\/\/ftp.es./g' /etc/apt/sources.list

Con eso ya tenemos los repositorios más cerca y nos irá mejor.