Con el docker-compose, montaremos tres contenedores, uno con Apache, otro con MySQL y uno con PHPmyAdmin. En el "Dockerfile" se encuentra la configuración de apache con PHP. Es importante respetar la estructura de carpetas que se presenta a continuación.
La carpeta "src", será donde metamos nuestros archivos .html o .php para desplegar en el Apache de Docker.
Lo primero que haremos es crear una carpeta de trabajo, que puede llamarse "ENTORNO_PHP_MYSQL". Dentro de esta, generaremos el archivo docker-compose.yaml, en el cual copiaremos el contenido del archivo docker que se encuentra en este repositorio. En esta carpeta también tendremos que generar un archivo con nombre Dockerfile, en el cual también copiaremos el contenido del Dockerfile que hay en este repositorio. Por último, generaremos una carpeta dentro de nombre php y dentro de esta carpeta otra carpeta de nombre src.
En caso de utilizar Linux, este proceso se resume a crear el directorio "ENTORNO_PHP_MYSQL" y dentro de este ejecutar _git clone https://github.com/Zoser777/LAMP .
Podemos abrir el documento .yaml y modificar usuario, contraseña, etc. Estos són los que posteriormente usaremos para acceder a PHPmyAdmin y MySQL.
Instalamos Docker:
sudo apt install docker.io
Instalamos Curl:
sudo apt install curl
Instalamos Docker compose con el siguiente comando:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Damos permisos necesarios:
sudo chmod +x /usr/local/bin/docker-compose
Comprobamos que docker funciona:
docker-compose --version
Una vez tenemos creados los documentos y modificado los parámetros correspondientes, podemos situarnos en la carpeta "ENTORNO_PHP_MYSQL" y ejecutar "docker-compose up" y se empezarán a montar los contenedores.
docker-compose up -d
Se empezarán a descargar las imágenes de los contenedores y a montarse.
Una vez finalizado, podemos ejecutar "docker ps" para ver que están funcionando los tres contenedores:
docker ps
Para acceder a PHPmyAdmin tendremos que poner en nuestro navegador "localhost:8080", el usuario y contraseña serán los que habremos establecido en el archivo Docker-compose.yaml .
En mi caso, el usuario y contraseña es "administrador" y "12345":
Accedemos:
Primero instalamos el JDK (herramientas de java para que pueda funcionar)
apt install openjdk-8-jdk
Posteriormente instalamos Netbeans con Snap:
snap install netbeans --classic
Abrimos el Netbeans y comprobamos que funcione:
Ahora optenemos la IP del contendor:
Si ponemos la IP, nos tendría que solventar con la pagina:
Este "Forbidden" se debe a que no tenemos ninguna página cargada, si nos vamos a nuestra carpeta "ENTORNO_PHP_MYSQL", dentro de "php", "src" creamos un index.html con cualquier contenido, nos saldrá en Apache. Si analizamos el docker-compose.yaml, esto se debe a que está creado el volumen.
Ahora si recargamos el navegador, nos sale el siguiente resultado:
Creamos un proyecto PHP:
Ahora tendremos que marcar la ruta de la carpeta "src":
Ahora pondremos la IP de nuestro contenedor:
Daremos en "finish" y ya lo tendremos todo listo:
Creamos un archivo de prueba y guardamos:
Daremos donde pone "RUN":
Por último, se nos abrirá el navegador:
Los archivos que creemos siempre van a estar en nuestro documento "src", al igual que en nuestro contenedor "php-apache".
Cuando apaguemos el ordenador, cuando volvemos a encenderlo, tendremos que volver a iniciar los contenedores, ya que estos se apagan al apagarse el ordenador. Esto lo haremos con :
docker start ID_CONTENEDOR
Tendremos que iniciar los 3 contenedores.
Los datos de MySQL los hemos visto y están en el archivo docker-compose.yaml