Dentro de la empresa Pollito, se tenía una implementación con docker-compose que los desarrolladores usaban para hacer pruebas, pero por un incidente de seguridad, esta implementación se vio corrompida. El objetivo del taller es habilitar nuevamente el uso del docker-compose con todos sus componentes y asi los desarrolladores los puedan usar de nuevo.
- Crear un usuario en Docker Hub.
- Compilar los Dockerfiles en los siguientes directorios y publicar en Docker Hub:
./configuration/php./configuration/python
La implementación tiene un docker-compose que pone en funcionamiento 4 contenedores:
- php
- nginx
- mysql
- python
- Debe tener dos volúmenes de la siguiente manera:
- HOST ->
./volumes/nginx/:/var/www/htmlCONTAINER - HOST ->
./configuration/php/www.conf:/usr/local/etc/php-fpm.d/www.confCONTAINER
- HOST ->
- Debe tener el puerto 9200 abierto y establecer las siguientes variables de entorno:
MYSQL_USER,MYSQL_PASSWORD. - Compilar la imagen desde esta ubicación: `./configuration/php, subirla a la dockerhub y usarla dentro del docker-compose.yaml
- Debe tener los siguientes volúmenes en su configuración:
- HOST ->
./volumes/nginx/:/var/www/htmlCONTAINER - HOST ->
./volumes/logs:/var/log/nginxCONTAINER - HOST ->
./configuration/nginx/default.conf:/etc/nginx/conf.d/default.confCONTAINER
- HOST ->
- Agregar un archivo llamado
index.htmlcon tu nombre dentro de/var/www/html.
- Compilar la imagen desde esta ubicación:
./configuration/python. - generar la imagen, ponerla dentro de la dockerhub y usarla en docker-compose.yaml
- El servicio del contenedor debe estar expuesto en el puerto 5000.
- Crear un archivo para leer variables y usarlas en el proyecto para usar credenciales y datos sencibles.
- Todos los contenedores deben estar conectados a la misma red.
Antes de comenzar a trabajar con el entorno hay que probar su funcionamiento. Accediendo a http://localhost:88/test/phpinfo.php se comprueba si funciona correctamente el contenedor de php. Si no es así se mostrará una pantalla de error.
PhpMyadmin es un cliente web para gestionar bases de datos de manera sencilla. Por comodidad vamos a utilizar una imagen docker del propio creador PhpMyAdmin. Una vez que se ha levantado el entorno de Nginx y Mysql para correr phpMyadmin por el puerto 8081 se debe lanzar el comando:
docker run --network={network} --name phpmyadmin -d -e PMA_HOST=mysql --link mysql:db -p 8081:80 phpmyadmin/phpmyadmin
Se puede acceder a la aplicación desde la url: http://localhost:8081