Implementar una pila Docker compleja no es tan desafiante como cree, al menos cuando Portainer es su GUI de elección. Descubra lo fácil que es esto con las plantillas de Portainer.

Cuando piensa en implementar una aplicación en contenedores de pila completa, probablemente espera que sea una tarea tediosa y complicada escribir manualmente un manifiesto y esperar que se implemente correctamente. Aunque los desarrolladores que conocen bien los manifiestos de YAML y Docker dirían que no es algo difícil de hacer, si eres remotamente nuevo en los contenedores, el proceso puede ser bastante desalentador.
VER: Equipment de contratación: desarrollador Python (Premium de TechRepublic)
Afortunadamente, hay aplicaciones como Portainer que hacen todo lo posible para que la administración y la implementación de contenedores sean exponencialmente más fáciles que hacerlo desde la línea de comandos. Con Portainer, puede administrar contenedores, pilas, imágenes, redes, volúmenes y más de Docker, pero una de las características más impresionantes es su capacidad para implementar una aplicación de pila completa desde una plantilla de aplicación easy.
Encontrará plantillas para pilas como registros, NodeJS, NGINX, Apache, Caddy, MongoDB, Elasticsearch, SQL Server, Redis, Joomla, Drupal, Airplane, Jenkins, Redmine, WordPress y otros.
Déjame mostrarte cómo se hace.
Salta a:
Lo que necesitará para implementar una aplicación de pila completa
Lo único que deberá seguir en este tutorial es una instancia en ejecución de Portainer. recomiendo implementar Portainer a un entorno MicroK8s y entonces instalando Docker CE en el controlador para que agregue un entorno Docker a la mezcla.
Cómo implementar una aplicación de pila completa desde una plantilla de Portainer
Comience iniciando sesión en su instancia de Portainer y seleccionando el entorno Docker de la lista de entornos (Figura A).
Figura A

Una vez que se carga el entorno de Docker, haga clic en Plantillas de aplicación en la barra lateral izquierda (Figura B).
Figura B

Aparecerá una lista de las plantillas de aplicación disponibles. Probemos la implementación de WordPress. Desplácese hacia abajo hasta que vea WordPress (Figura C).
Figura C

A partir de aquí, hay dos caminos a seguir. Primero, puede hacer clic en la entrada de WordPress e implementar la pila completa tal como está. Alternativamente, puede hacer clic en Copiar como personalizado, que abrirá la plantilla para editarla (Figura D).
Figura D

El uso de la opción Personalizada le permite editar los archivos YAML en Portainer Net Edibot para que pueda personalizar la implementación.
Si simplemente desea implementar WordPress rápidamente, simplemente haga clic en la entrada en la lista de Plantillas y, en la ventana resultante (Figura E), asigne un nombre a la implementación, escriba wordpress
como contraseña de usuario raíz de la base de datos y haga clic en Implementar la pila. Si desea cambiar la contraseña para mayor seguridad, querrá ir a la ruta personalizada. Para fines de prueba, el enfoque más easy funciona bien.
Figura E

La implementación tardará un tiempo en completarse, pero una vez que finalice, volverá a la lista de pilas. Haga clic en la pila de WordPress recién implementada y verá el puerto publicado en la lista (Figura F).
Figura F

Dé suficiente tiempo a los contenedores para que giren y luego dirija su navegador a http://SERVIDOR:PUERTO, donde SERVIDOR es la dirección IP del nodo del controlador y puerto es el puerto publicado que vio cuando vio la pila recién implementada. Será recibido por el instalador de WordPress (Figura G), donde puede apuntar y hacer clic para finalizar la implementación.
Figura G

Pilas completas simplificadas
No encontrará una manera más fácil de aprender el arte de implementar una aplicación de pila completa con Docker. El uso de Portainer simplifica enormemente el despliegue y la gestión de contenedores. Una vez desarrolladores de pila completa comience a usar Portainer, se preguntarán cómo se las arreglaron sin él.
Lea a continuación: Los 12 mejores IDE para programar (República Tecnológica)