Cómo levantar un entorno
Hay que tener previamente instalado Docker y docker-compose
El proceso de levantar un entorno es el siguiente:
Entrar en la consola/terminal.
Ubicarnos en la raíz del proyecto.
Sí es la primera vez que se levanta este entorno antes hay que construirlo con el comando
docker-compose build
Ejecutar el comando
docker-compose up -d
Trabajar.
Así de sencillo.
Ejemplo Entorno para PHP
Objetivo: Crear un entorno con PHP + Apache + MariaDB
Utilizaremos el docker-compose.yml disponible en github: https://gitlab.com/Didweb/dockers
Es un repositorio con varios contenedores para distintos entornos. Aunque para este entorno solamente necesitaremos los ubicados en Aplicacion-PHP descargamos todos y los guardamos en nuestro ordenador para tenerlos y poder reutilizarlos. Pulsa sobre el icono de Download ...
Copia los siguientes archivos donde vas a crear tu entorno. Archivos a copiar:
Te a de quedar este aspecto. El directorio Aplicacion-PHP puedes cambiarlo por el nombre de tu proyecto.
Ahora tenemos todo lo necesario para iniciar el entorno.
Vamos a ejecutar comandos en la consola o terminal.
Desde el terminal, tendremos que ubicarnos en el directorio ...
Para Mac y Linux ...
Para Windows (con la barra al revés)...
Para comprobar si estamos en el directorio. Con ls veremos el contenido
Mac, Linux y Windows...
Tendremos que ver algo parecido a esto ...
Como se aprecia estan todo los archivos y directorios de Aplicacion-PHP
Sí e sla primera vez lo construimos y luego lo levantamos, con el siguiente comando...
Construimos (Solo si es la primera vez y no lo tenemos construido)...
Sí no tenéis la imagen en vuestro ordenador tardará un poco, y vuestra consola parecerá Matrix, cuando termine, lo levantamos ...
Saldrá algo parecido a esto...
Como se puede ver hay levantados 3 contenedores my-app-mariadb (Base de datos), source2_app_1 (PHP + apache) y my-app-phpmyadmin (el PHPMyAdmin)
Si no s vamos a ver la carpeta o bien con tu IDE favorito o por las carpetas, verás que hay 2 directorios nuevos, data y sessions. Son necesarios para la base de datos y el phpMyAdmin, no te preocupes no las vas a necesitar. No los toques.
Ahora de momento solamente tenemos un index.php en en la carpeta html, con la información de la conexión a la base de datos y la configuración de PHP. Para acceder al index de nuestra web, se ha de conocer el puerto por el que es accesible el contenedor para verlos pulsamos en le terminal...
Saldrá algo parecido a esto y el puerto sale destacado en la imagen...
Si ampliais la imagen se ve que es el puerto 8080 en el contenedor source4_app_1 que es por donde esta corriendo apache y nuestro PHP.
Ahora abrir el navegador y poner en la barra de direcciones...
Saldará esto ....
Ok!! Ya está funcionando PHP y Apache!!! Lo más seguro es que salga un error al conectar la base de datos. esto es debido a que en este index.php hay una conexión a la base de datos pero los datos están puestos por defecto. Si queremos comprobar que tenemos conexión a la base de datos, corregimos estos datos de conexión...
Abrimos el archivo info.php
Modificaremos las 4 primeras ($host, $usuario, $password, $nameDB) variables por las correctas...
¿ Y dónde están los datos correctos? .... en el archivo .env
Como se puede ver hay un listado con nombres de variables = valores
En este caso se puede ver que $password en el info.php es 123456X y el valor correcto debería ser 123456 ... Nos vamos al archivo info.php y ponemos el password correcto. Ahora vamos de nuevo al navegador actualizamos y saldrá algo así...
Pues ya tenemos un entorno de producción con php + apache + mariadb funcionando!!!
Ahora ya podemos programar, todo el código debe ir en el directorio html
Este index.php lo puedes eliminar o poner otro nombre al archivo y así poder comprobar en otra ocasión que todo está bien.
Si queremos entrar a PhpMyadmin ... primero tenemos que saber en que puerto esta... con docker ps
desde la consola. En este caso es 8011 .
Ponemos las credenciales de acceso, recuerda que están en ... .env
Y se puede ver que está nuestra base de datos!
Repasando ...
Abrimos la consola y nos situamos en el directorio.
Si es la primera vez ...
docker-composer build
Si no es la primera vez o y has ejecutado el build ...
docker-compose up -d
Para saber en qué puerto corre la aplicación...
docker ps
Vamos al navegador con el puerto ...
http://localhost:8080
cambiar 8080 por el que corresponda.Ya está.
Podemos cerrar y eliminar los contenedores con ...
Como se aprecia... los para y luego los elimina. Si te vas a http://localhost:8080 veras qeu esta caida la web. Para levantarla solo hay que hacer ... docker-comspoe up -d
Todo los archivos que hayas modificado en html permanecerán en el la carpeta html, así como la base de datos, seguirá estando en su sitio.
Configurar puertos y claves de Mysql
Si por alguna razón quieres cambiar los puertos, por ejemplo porque tiene varios proyectos y al coincidir los puertos no te deja levantar los contenedores. Simplemente ves al archivo .env y cambia por ejemplo los puertos en PORT_APP o PORT_PHPMYADMIN o PORT_DB.
Cómo crear otros proyectos
Si quieres abrir otro proyecto simplemente tienes que copiar los archivos de Aplicacion-PHP en otra carpeta de un nuevo proyecto y ejecutar el docker-compose build
y luego el docker-compose up -d
ATENCIÓN !! Cambio de Nombres y Puertos de contenedores
Al abrir nuevos contenedores en la misma máquina, ten en cuenta que deberás cambiar el nombre y puertos de los contenedores, ya que si hay dos contenedores con el mismo nombre se genera un error.
Para cambiar los nombres antes de levantar el entorno modifica los parámetros del archivo .env
...
Last updated