Instalar Docker en Debian

Snipet para construir un kernel Linux con soporte AUFS:

#!/bin/bash

VERSION=3.12
apt-get -y install git build-essential

git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git linux.git
pushd linux.git
git checkout -b v$VERSION tags/v$VERSION
popd

git clone git://git.code.sf.net/p/aufs/aufs3-standalone aufs3-standalone.git
pushd aufs3-standalone.git
git checkout -b aufs$VERSION remotes/origin/aufs$VERSION
popd

pushd linux.git
patch -p1  < ../aufs3-standalone.git/aufs3-kbuild.patch
patch -p1  < ../aufs3-standalone.git/aufs3-base.patch
patch -p1  < ../aufs3-standalone.git/aufs3-mmap.patch
patch -p1  < ../aufs3-standalone.git/aufs3-standalone.patch

cp -r ../aufs3-standalone.git/Documentation .
cp -r ../aufs3-standalone.git/fs .
cp -r ../aufs3-standalone.git/include/uapi/linux/aufs_type.h include/uapi/linux/
popd

Ahora debemos configurar el Kernel. Tened en cuenta que hay que activar CGroup y AUFS:

pushd linux.git
make menuconfig
make all -j8
mkdir ../kernel-$VERSION
cp ./arch/x86_64/boot/bzImage System.map ../kernel-$VERSION/
popd

El siguiente paso es arrancar con el nuevo Kernel:

cp ../kernel-3.12/bzImage /boot/bzImage-3.12.0-64
cp ../kernel-3.12/System.map /boot/System.map-3.12.0-64

update-grub
#Generating grub.cfg ...
#Found linux image: /boot/bzImage-3.12.0-64
#Found Debian GNU/Linux (7.2) on /dev/sda1
#done

reboot

Instalación de Docker:

echo "deb http://get.docker.io/ubuntu docker main" > /etc/apt/sources.list.d/docker.list
wget -qO- https://get.docker.io/gpg | apt-key add -
apt-get update
apt-get -y install lxc-docker

Comprobamos si el entorno es compatible con LXC:

lxc-checkconfig

Debe aparecernos esto:

--- Namespaces ---
 Namespaces: enabled
 Utsname namespace: enabled
 Ipc namespace: enabled
 Pid namespace: enabled
 User namespace: enabled
 Network namespace: enabled
 Multiple /dev/pts instances: enabled
--- Control groups ---
 Cgroup: enabled
 Cgroup clone_children flag: enabled
 Cgroup device: enabled
 Cgroup sched: enabled
 Cgroup cpu account: enabled
 Cgroup memory controller: missing
 Cgroup cpuset: enabled
--- Misc ---
 Veth pair device: enabled
 Macvlan: enabled
 Vlan: enabled
 File capabilities: enabled
Note : Before booting a new kernel, you can check its configuration
 usage : CONFIG=/path/to/config /usr/bin/lxc-checkconfig

Añadimos nuestro usuario al grupo docker por comodidad.

adduser $USER docker

Verificamos la instalación con el siguiente comando:

docker run -i -t ubuntu /bin/bash

Ahora estás en una Ubuntu dentro de un contenedor 🙂

Referencias:

Esta entrada fue publicada en Debian, General, Linux. Guarda el enlace permanente.

Una respuesta a Instalar Docker en Debian

  1. rebadarti dijo:

    Muy buen post Alfredo, muy muy útil. El mundo de docker me parece que va a ser muy importante de aquí en adelante. Yo estoy creando un blog sobre el tema. Si quieres echarle un ojo a ver que te parece, http://www.rebadarti.com

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *