Empecé instalando un servidor “gitolite” con Docker para llegar al verdadero reto, migrar mis web’s, git privado y correo desde un servidor único a múltiples contenedores Docker. He actualizado este apunte después de terminar, dejo más abajo los fuentes en Docker/GitHub y para entenderlos qué mejor que una imagen (click para ampliar)

docker

Si estás empezando con Docker no te pierdas ¿qué es Docker?, continúa con su documentación y aprovecha todos estos ejemplos reales:

Persistencia

Todos los contenedores se apoyan en una estructura persitente de datos en el Host:

Ejemplo

Veamos un ejemplo concreto para entender la filosofía de Docker. En este caso necesitaba entregar el servicio GIT y varios servidores Web. La idea es que cada contenedor ejecute un único proceso. Encontrarás varios retos, por ejemplo ¿cómo montar varios Web’s si solo tienes una única IP pública?. La solución tradicional son los “vhosts”, ahora bien, como la filosofía de Docker es distinta entonces usamos balanceadores (en mi caso “squid” un “proxy inverso con soporte de virtual hosts”, otros posibles serían haproxy o nginx)

En la figura puedes ver a lo que me refiero, para resolverlo tendríamos un contenedor con “gitolite” y otros (tres en el gráfico) para dar los servicios “web”

docker1

Espero que este apunte junto con los proyectos en el registry de Docker y en GitHub te sirvan de ayuda para tus própias instalaciones.