La semana pasada os presentaba el Script llamado ZimbraEasyInstall, y aunque está en una versión muy temprana, funciona a la perfección, y ya ha sido visto por más de 400 personas. Os adjunto las estadísticas de github.
Hoy os traigo una noticia muy buena, se trata de la instalación de Zimbra Collaboration sobre un contenedor Docker. Después del vídeo y de las instrucciones de instalación os dejo una descripción de qué es Docker y cómo puede beneficiarte.
1.- Instalando Docker
Lo primero que tenemos que hacer es instalar Docker en el que será nuestro “servidor” docker, para ello deberemos seguir las pautas de la Web Oficial de Docker, donde hay instrucciones para instalarlo hasta en Windows. En el caso del vídeo y de mi laboratorio, estoy ejecutando Docker sobre un Ubuntu Server 14.04, pero como os digo, elegir lo que queráis. En mi caso instalar docker es simplemente un comando:
wget -qO- https://get.docker.com/ | sh
2.- Preparando la Imagen Docker
Una vez que tenemos docker instalado, vamos a crear una imagen personalizada por nosotros con wget, unos puertos abiertos, y que comienze por defecto en /bin/bash, pero podemos jugar con el Dockerfile como queramos. En el caso del laboratorio, voy a usar el Dockerfile y el start.sh que ya tengo preparado y crear una imagen basada en Ubuntu Server 14.04 llamada zimbra_docker o el nombre que os guste:
git clone https://github.com/Zimbra-Community/zimbra-docker.git
cd zimbra-docker/docker
sudo make
3.- Lanzar el Container
Una vez termina el proceso de creación de la imagen, que dura unos pocos minutos, estaremos listos para lanzar el container, para crearlo deberemos definir primero los puertos que queremos que tenga abiertos, así cómo el servidor de DNS, en este caso queremos que apunte al local primero ya que el Script instala bind, y de paso seleccionaremos ya el hostname y la password de nuestro Zimbra:
docker run -p 25:25 -p 80:80 -p 456:456 -p 587:587 -p 110:110 -p 143:143 -p 993:993 -p 995:995 -p 443:443 -p 8080:8080 -p 8443:8443 -p 7071:7071 -p 9071:9071 -h zimbra86-docker.zimbra.io --dns 127.0.0.1 --dns 8.8.8.8 -i -t -e PASSWORD=Zimbra2015 zimbra_docker
4.- Pruebas de acceso
Después de unos minutos, ya tendremos Zimbra Collaboration instalado, desde un equipo de la misma red que el “server” de docker, abriremos un navegador y seleccionaremos la IP del “server” docker, ya que el container como tal lo que hace es un NAT de los puertos internos del Container hacía la IP del Host.
- Acceso al Web Client: https://IPSERVERDOCKER
- Acceso al Admin Console: https://IPSERVERDOCKER:7071
5.- Información adicional
- Wiki de Zimbra acerca de docker – https://wiki.zimbra.com/wiki/Deploy_Zimbra_Collaboration_using_docker
¿Qué es Docker?
Para los que no sepáis que es Docker, se trata de una tecnología donde podremos “virtualizar” un Linux con todas las aplicaciones que necesitemos dentro de nuestro sistema operativo Linux, para “empaquetarlo” y desplegarlo en cualquier otro Linux sin necesidad más que de introducir un par de comandos. Más información en el siguiente enlace de Esaú A.
¿Cómo me beneficia Docker?
Algunos de los beneficios de usar Docker son:
- Autogestión de los contenedores.
- Fiabilidad.
- Aplicaciones libres de las dependencias instaladas en el sistema anfitrión, que puede ser desde una instancia en Amazon, hasta una VM de prueba en un Virtualbox.
- Capacidad para desplegar multitud de contenedores en un mismo equipo físico.
- Puesta en marcha de los servicios en un abrir y cerrar de ojos.
- Contenedores muy livianos que facilitan su almacenaje, transporte y despliegue.
- Capacidad para ejecutar una amplia gama de aplicaciones (prácticamente cualquier cosa que se nos ocurra podrá ejecutarse en un contenedor Docker).
- Compatibilidad Multi-Sistema, podremos desplegar nuestros contenedores en multitud de plataformas.
- La aplicación base de Docker gestionará los recursos existentes para asignarlos responsablemente entre los contenedores desplegados.
- Podremos establecer una base desde la que comenzar nuestros proyectos, lo que nos ahorrará el tiempo de preparar el entorno para cada uno de ellos.
- Podremos compartir nuestros contenedores para aumentar los repositorios de Docker así como beneficiarnos de los que compartan los demás.



Fantástico aporte, se que no escribo con asiduidad pero me encanta lo fácil que haces que se entiendan cosas tan complicadas como e docker (del cual por cierto basa mi TFC) y el cual aun sigo investigando y me cuesta pero gracias a post como al tuyo hace qué sea mas sencillo de entender y poder comprender (sobre todo si no sabes ingles jjj), sigue así, aun recuero ese primer encuentro en 2006 y lo lejos que has llegado.
Saludos Manu,
Que placer leerte por aquí, me alegra que te ayude. Desplegar Zimbra con Docker es muy sencillo, lo complicado fue crear el Script, pero ahora que ya está listo, solo nos queda disfrutarlo.
Un saludo!
Boa Noite,
Instalei o zimbra conforme explicou, agora tento entrar no zimbra admin console e não sei qual e a password por default.
+António Lopes Saludos Antonio, es la password que has introducido cuando has lanzado el comando:
docker run -p PORTS -h HOSTNAME.DOMAIN –dns DNSSERVER -i -t -e PASSWORD=YOURPASSWORD NAMEOFDOCKERIMAGE
No se que password has puesto. Un saludo
Hola, enhorabuena por el el post!
He seguido las instrucciones en una maquina virtual y me funciona correctamente… PERO….. al cabo de un rato, 1 minuto como mucho, el docker se para, tengo que volver a iniciarlo con docker start CONTAINER_ID, entrar en él e iniciar de nuevo zimbra con zmcontrol start.
¿Sabes de que puede ser?
Gracias y siento las molestias!!
Esto ocurre siempre? O solamente la primera vez?
Un saludo
Hola.
Siempre.
He probado a iniciar el docker y no iniciar zimbra y a los 8-10 min tambien se para.
Si inicio el doker y zimbra justo despues, entro en la ‘web-consola’ de admin y a los pocos segundos el zimbra ya me dice que hay servicios sin iniciar…e igual a los 8-10 min se cierra el docker.
Ahora iba a hacer pruebas a instalar zimbra 8.6 directamente en la maquina virtual sin el docker a ver si asi funciona.
De esta ultima manera tenia una version 8 de zimbra en otra maquina.
No se si intentar actualizar esa version en vez de instalar una nueva.
Saludos.
Prueba a usar el ZimbraEasyInstall si quieres para instalar rapido ZCS 8.6
Gracias!!
Voy a probar en breve y te comento.
La direccion para el wget para descargar el script ZimbraEasyInstall, esta en algun post?
Si claro, es esta – https://raw.githubusercontent.com/jorgedlcruz/Zimbra/master/ZimbraEasyInstall
Un saludo
Hola
Usando el ZimbraEasyInstall no se para el Zimbra, puedo crear cuentas, entrar en ellas… pero no puedo enviar mensajes da error “imposible enviar el mensaje: mail.SEND_FAILURE”
No me había fijado en la instalación y pensé que iba todo bien, pero revisando me di cuenta de este error del BIND9 al reiniciar:
Starting domain name service… bind9 [fail]
A ver si consigo información e intento solucionar ese error.
Saludos y gracias.