¿Qué es?
En la wikipedia (http://es.wikipedia.org/wiki/Docker_(software) )nos indican lo siguiente:
Docker es un proyecto de código abierto que automatiza el despliegue de aplicaciones dentro de contenedores de software, proporcionando una capa adicional de abstracción y automatización de virtualización de aplicaciones en múltiples sistemas operativos.2 Docker utiliza características de aislamiento de recursos del kernel Linux, tales como cgroups y espacios de nombres (namespaces) para permitir que «contenedores» independientes se ejecuten dentro de una sola instancia de Linux, evitando la sobrecarga de iniciar y mantener máquinas virtuales.3
En éste post pretende explicar la instalación de docker.
Primero, instalamos las dependencias, con el siguiente comando:
yum install -y yum-utils device-mapper-persistent-data lvm2
Instalamos el repositorio oficial, con el siguiente comando:
yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo
Instalamos docker con el siguiente comando:
yum install docker-ce
Ejecutaremos el siguiente comando para habilitar el autoinicio del servicio docker en los reinicios:
systemctl enable docker
Arrancamos docker con el siguiente comando:
systemctl start docker
Paramos docker, para mover todo el árbol de directorios a su partición con los comandos:
systemctl stop docker
mv /var/lib/docker/* /docker
rm /var/lib/docker -rf
Creamos el link simbólico con el siguiente comando:
ln -s /docker /var/lib/docker
Arrancamos docker con el siguiente comando:
service docker start
Y ejecutamos el siguiente comando, para comprobar que docker ya usa su partición
docker info
Tiene que indicarnos que está usando su partición:
Ejecutamos el siguiente comando, para habilitar el acceso externo, para usar, por ejemplo, portainer (http://www.portainer.io/)
cat <<EOF >/etc/systemd/system/docker.service.d/docker-external.conf
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock
EOF
Si el servidor de docker, tuviese que usar un proxy, para salir a inernet, ejecutaríamos el siguiente comando, para indicarle a docker, el proxy que usar:
cat <<EOF /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://ip_proxy:puerto"
Environment="http_PROXY=http://ip_proxy:puerto"
Environment="NO_PROXY=localhost,127.0.0.1,ips_para_excluir"
EOF
Para verificar qué docker llega al hub (http://hub.docker.com), ejecutamos el siguiente comando:
docker search busybox