Creación de una imagen base personalizada

Docker tiene una rica biblioteca de imágenes base, y recomendamos encarecidamente que selecciones una imagen delgada que se adapte bien a tu aplicación. Sin embargo, es posible que desees crear tu propia imagen base personalizada desde el principio. Aquí, en esta receta, utilizaremos debootstrap para crear nuestra imagen base de Ubuntu 18.04 LTS (Xenial Xerus). La utilidad debootstrap puede crear cualquier sistema basado en Debian descargándolo desde el repositorio adecuado.

Preparación

Instala debootstrap en cualquier sistema basado en Debian utilizando el siguiente comando:

$ apt-get install debootstrap

Cómo hacerlo…

Realiza los siguientes pasos:

  1. Crea el directorio en el que deseas poblar todos los archivos de distribución:
$ mkdir xenial
  1. Ahora, utilizando debootstrap, instala Xenial Xerus dentro del directorio que creamos anteriormente:
$ sudo debootstrap xenial ./xenial

Verás el árbol de directorios, similar a cualquier sistema de archivos raíz de Linux, dentro del directorio en el que se instaló Xenial Xerus:

$ ls ./xenial
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc
root  run  sbin  srv  sys  tmp  usr  var
  1. Ahora, podemos exportar el directorio como una imagen de Docker con el siguiente comando:
$ sudo tar -C xenial/ -c . | docker image import - xenial
  1. Observa la salida del comando docker image ls. Debes tener una nueva imagen con xenial como nombre.

Cómo funciona…

El comando debootstrap extrae todos los paquetes de Ubuntu 18.04 (Xenial Xerus) del repositorio de paquetes y los coloca en el directorio. Luego, se empaquetan en un archivo TAR y se envían al comando de importación de imagen de Docker para crear la imagen de Docker.

Ver también