domingo, 20 de septiembre de 2015

Creación de un sistema BASE para DOCKER

Creación de un sistema BASE para DOCKER

En este post reutilizaremos la máquina virtual creada en el post anterior box-sistema-base-para-vagrant-desde-cero


  • Ubuntu 14.04 x64
  • VirtualBox 5.0.2 + ExtensionPack
  • Docker version 1.7.1
  • CentOS 7 x64  (El nodo virtual del post anterior lo llamamos vmcentos7x64)


Arrancamos la máquina virtual creada en el post anterior:

VBoxManage startvm --type headless vmcentos7x64

Nos conectamos a ella (si estamos usando la máquina del post anterior, el NAT estaba realizado sobre el puerto 2222).

ssh root@localhost -p 2222

Creamos una imagen completa del sistema operativo con usuario root, obviando los filsystems virtuales /proc y /sys ya que se crean por el kernel... 

tar --numeric-owner --exclude=/proc --exclude=/sys -cvf /root/vmcentos7x64-base.tar /


Esto creará un tar con todo el sistema en /root/vmcentos7x64-base.tar, sacamos el fichero del sistema virtualizado con VirtualBox y lo llevamos por ejemplo a nuestro propio host.

scp -P 2222 root@localhost:/root/vmcentos7x64-base.tar /tmp

Ahora, paramos la máquina virtual ya que no la necesitamos.

VBoxManage controlvm vmcentos7x64 poweroff

Importamos la imagen creada de los filesystems de la máquina virtual en docker con el nombre vmcentos7x64-base en nuestro ejemplo.

cat /tmp/vmcentos7x64-base.tar | docker import - vmcentos7x64-base

Tras unos segundos nos aparece el id del contenedor y podemos verificar la imagen listando las imágenes disponibles en docker.

docker images

REPOSITORY                 TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
vmcentos7x64-base          latest              5614f7ab3103        2 minutes ago       1.433 GB
ubuntu                     latest              d2a0ecffe6fa        10 weeks ago        188.4 MB
centos                     latest              7322fbe74aa5        3 months ago        172.2 MB

Revisamos la versión de nuestro contenedor visualizando por ejemplo la versión de centos del mismo.

docker run -i -t vmcentos7x64-base  cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core) 

Ya tenemos disponible un contenedor docker con una versión base de CentOS 7.1.1503. Para ello, bastará con arrancar una shell en el contenedor.

docker run -i -t vmcentos7x64-base  sh

Verificamos sobre la shell que estamos en un contenedor de mi host (en este caso Ubuntu 14.04LTS) comprobando el kernel arrancado.

sh-4.2# uname -a
Linux bd48dacb894f 3.16.0-48-generic #64~14.04.1-Ubuntu SMP Thu Aug 20 23:03:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux


No hay comentarios:

Publicar un comentario