• contacto@dinamicas-electronicas.com
  • 677207650

Tutorial:Crear un contenedor Linux a mano

pietre      0    771 Views

Tutorial:Crear un contenedor Linux a mano

Hoy voy a pasaros un tutorial de como hacer un contenedor en Linux a mano, este contenedor no es un docker ni es un lxc, no tiene gestión de redes, este contenedor sirve para desarrollo, pruebas y en general para desmitificar el tema de los contenedores, la base es rudimentaria pero creedme que básicamente así se instala un sistema operativo Linux

Parte 1: Dependencias: debootstrap

La simpleza de este contenedor tiene sus pros, y la unica dependencia que se necesita para crear un contenedor (en base debian) es debootstrap

apt install debootstrap

Creamos la carpeta en la que vamos a instalar el contenedor

 mkdir /home/stretch

Lanzamos la creación del sistema base:

debootstrap --foreign stretch /home/stretch

NOTA: Fijate que foreign es la distro, aquí podríamos poner un listado largos de posibles distros incluidos en el script debootstrap, pero se podría instalar otras distros.

Una vez que acaba el proceso y antes de entrar en el contenedor hay montar nuestras carpetas del sistema en el contenedor

mount -o bind /dev  /home/stretch/dev
mount -o bind /dev/pts /home/stretch/dev/pts
mount -t sysfs /sys /home/stretch/sys
mount -t proc proc  /home/stretch/proc

Ya esta todo preparado para entrar al contenedor:

chroot /home/stretch

Una vez dentro nos aparece el siguiente usuario:

I have no name!@host

Ahora ejecutamos la segunda fase del proceso de creación de un sistema base debian

/debootstrap/debootstrap –second-stage

Una vez que acabe salimos con “exit y volvemos a entrar, veremos que tenemos usuario root

Dentro del contenedor hay que configurar parámetros básicos de un sistema Linux

Las locales del idioma de programación por defecto

export LANG=C

Añadir los repositorios de la distribución en concreto:

NOTA: Si es la misma que tu host simplemente copia:

cp /etc/apt/sources.list  /stretch/etc/apt/
echo "deb http://ftp.es.debian.org/debian/ stretch main contrib non-free" > /etc/apt/sources.list
echo "deb http://security.debian.org/debian-security stretch/updates main contrib non-free" >> /etc/apt/sources.list
echo "deb http://ftp.es.debian.org/debian/ stretch-updates main contrib non-free" >> /etc/apt/sources.list

Y ya tendríamos un contenedor debian listo para romper, jugar o lo que quieras, dispone de las aplicaciones de la distribución propia, y no pasa nada si lo rompes.

Por ultimo después de salir del contenedor sería mejor que desmontes las unidades del contenedor:

umount /home/stretch/dev/pts
umount /home/stretch/dev
umount /home/stretch/proc
umount /home/stretch/sys
umount /home/stretch

Leave a Reply

secciones