Para esta clase, les voy a pedir que por favor tengan la instancia de nuestra base de datos corriendo
de María de V.
Se acuerdan que todavía no la hemos cancelado ni tampoco hemos borrado el volumen porque todavía lo
necesito.
Ok?
Si ustedes no tienen este comando, ténganlo a la mano todavía lo vamos a estar usando un par de veces.
Luego les voy a enseñar una manera de no tener esto así tan volátil y grabar esto en un archivo para
que nos sirva a nosotros para volverlo a levantar fácilmente sin tener que memorizar cada uno de estos
comandos, porque imagino que ya verán que manejar las variables de entorno es un dolor de cabeza.
Pero les voy a pedir que se aseguren primeramente de que tengan corriendo el contenedor Docker Container
LS y asegúrense de que tengan su base de datos corriendo.
Ok, tiene que tenerla corriendo.
Recuerden que también nosotros en las clases anteriores hicimos una parte donde conectábamos a la base
de datos y ejecutamos el query y teníamos ya data cargada.
Por favor regresen a este punto y necesito que la base de datos esté así y que su ejercicio esté así,
que el volumen contenga esta información, porque así es como necesito el ejercicio.
Ok, perfecto.
Ya sabemos que en Table plus todo funciona y tenemos la cadena, conexión, etc, pero pero no necesariamente
tenemos que usar Table Plus, podríamos usar cualquier otro servicio.
Digamos que quisiéramos desplegar alguna manera de poder consultar nuestra base de datos desde la nube
en internet y un servicio muy popular para manejar y acceder a base de datos MySQL y María Drive es
una herramienta llamada phpMyAdmin o PHP phpMyAdmin como ustedes le digan.
Esto es muy, muy, muy popular, es gratuita y nos permite a nosotros conectarnos a mi físico y María
de V.
Hagamos clic en ella y vamos a utilizar esta imagen para conectarse.
Es relativamente sencillo de utilizar.
Si nos vamos a la parte de los tags, yo voy a estar utilizando y yo le voy a recomendar que usemos
la misma para que escribamos exactamente el mismo código, copien este nombre o escriban lo que sería
la versión cinco punto 2.0 menos Apache.
Voy a regresar a la misma terminal y voy a poner aquí el nombre de PHP, mi admin dos puntos con el
sabor de o el tag de cinco punto 2.0 menos apache.
Esto literalmente significa lo que ustedes creen que significa.
Ustedes saben que para tener o correr PHP Digamos que yo no tengo nada configurado mi máquina para correr
PHP, pero igual quiero ejecutar phpMyAdmin, que es una forma visual de manejar la base de datos de
mi ciclo de vida y esto ya automáticamente usa una versión bastante ligera y segura de Apache que nos
permite a nosotros simplemente tener el Apache.
Y luego del Apache ellos le montaron el phpMyAdmin y ya está previamente configurado y es muy fácil
de utilizar.
Ok, regresemos a la parte del overview, siempre vayan a la documentación o jen aquí no necesitan ser
expertos en todo lo que dice la documentación.
Básicamente ellos ofrecen ejercicios y ejemplos para ejecutarlo.
Por ejemplo, aquí tenemos Docker Run name phpmyadmin de touch link, que este comando de link ya no
se acostumbra y ni se aconseja usarlo.
Es más, si ustedes buscan en la documentación esa parte de el link dice que ya link no se aconseja
que usamos, que es una característica legacy que puede ser que la remueva en un futuro, entonces no
usen link a pesar de que en documentaciones ustedes lo vean, no usen link ya.
Lo que se recomienda para evitar usar link es las redes, que es lo que van a usar y es el objetivo
de estas de este ejercicio.
Luego viene cual es el host o bueno para hacer el link propiamente esto ya no lo vamos a usar, lo vamos
a hacer de otra manera.
Port para hacerle a la parte del pools del port 80 80 de mi máquina con el puerto 80, que es el que
expone el host, que también se puede cambiar ese puerto mediante variables de entorno.
Ok.
Más abajo tenemos usandolo con un host externo y también lo tenemos para usarlo con un arbitrario server,
que este es para que yo pueda cambiar fácilmente el servidor al cual me quiero conectar.
Este técnicamente es el que yo voy a utilizar para demostrar varias cosas y les aconsejaría y les aconsejaría
que lo hagamos igual que yo copiase todo este comando.
Regresemos a Visual Studio Code, peguemos por acá.
Docker Container run.
Voy a presionar Back Slash Enter el name.
phpMyAdmin.
Está bien.
Back, Slash, Enter.
Voy a poner aquí otro back slash Enter.
La variable de entorno phpmyadmin arbitraria en uno que eso es lo que ellos piden para que se las enter
Publish del puerto back slash enter.
Y voy a usar esta versión que yo les aconsejaría que usemos la misma y siempre se recomienda que usemos
una versión específico y que nosotros manualmente incrementemos nuestras versiones.
No siempre usar en leyes.
Ok?
Todo lo que tengo aquí ya es lo que yo necesito para ejecutarlo.
Ok, vamos a ver que tal.
Copien este comando Control C, regresemos a la terminal y peguemos el comando Docker Container run
name phpmyadmin.
Luego viene una variable de entorno que es propiamente la que ellos definieron que haga el publish del
puerto y esta versión de phpMyAdmin presionemos Enter me dice que no lo voy a encontrar en la imagen
localmente y va a empezar a descargarla aquí va a ser la descarga nuevamente de cada una de las capas
que construye en phpMyAdmin o la imagen de phpMyAdmin que estoy utilizando.
Eso es genial porque también está utilizando seguramente aquí una imagen propiamente del Apache y ustedes
pueden ver cómo están construidos estas, esas imágenes.
Pero eso está basado en el Docker file y todavía no lo hemos visto.
Y una vez ya la descarga la va a empezar a ejecutar.
Si yo hago nuevamente el docker container.
LS Vamos a ver que ahí ya tenemos tanto phpmyadmin.
Y también tengo mi base de datos de María de V.
Si yo recargo Table plus, vamos a ver que todo esto sigue funcionando.
Lo tengo arriba y también estoy mapeando el puerto de phpMyAdmin, el puerto 80 80 con el puerto 80
del contenedor.
Entonces si abro una ventana de navegador web y escribo localhost dos puntos 80 80 y presiono enter,
recargue navegador web por si acaso no lo vean, o sea, presiona el control R como NR para hacer un
refresh.
Vamos a ver que aquí ya tenemos en cuestión de segundos instalado phpMyAdmin estamos corriendo PHP también
tenemos nuestro Apache corriendo.
Uff, un montón de cosas que ya tuvimos de antemano.
Ahora nos piden nuestras credenciales.
Vamos a ver qué tal esas credenciales, recuerden que aquí ya las teníamos a la mano.
Example user es nuestro usuario.
Y el password es este user password.
Si ustedes se acordarán cuando nosotros estuvimos trabajando en en nuestra base de datos aquí en Table
Plus, déjenme cerrar esto y editar la conexión.
Nosotros estuvimos trabajando con el localhost ok?
Estuvimos trabajando con el localhost.
Básicamente esto es como que escribamos aquí localhost.
Voy a volverlo a hacer zoom y hago el test de conexión.
Y bueno, esto no funciona.
Perdón.
Voy a borrarlo.
Y 127.0 punto 0.1.
Ok, voy a hacer test de conexión.
Ok, Funciona.
Y este de aquí?
Si yo vengo y lo pego, hago el click de login.
Van a ver que no intenta.
O sea, intenta conectarse y no funcionó.
Pero más de uno va a decir pero que extraño porque en Table plus esto sí conecta, pero porque aquí
no esta conectando si no está funcionando.
Tratamos de analizar el porque, tratamos de analizar por qué nosotros nos encontramos en un punto donde
estamos intentando.
Si yo pongo esto, es como que yo escribo aquí localhost.
Y mandó las credenciales, pero yo estoy intentando hacer la petición desde nuestro server, osea desde
el mismo contenedor que esta corriendo mi phpmyadmin.
Es como que yo se solo para decir algo, es como que yo estuviera dentro de este contenedor y allá dentro
del contenedor este apuntando a localhost por ejemplo, o estoy apuntando a que se yo en este caso el
nombre de nuestro contenedor donde está la base de datos sería World Dive, es decir, aquí yo intentaría
colocar aquí World Divi, puedo poner cualquier contraseña, tratar de hacer login y nuevamente no logra
encontrar ningún servicio.
El servicio no es encontrado.
Pero que extraño, pero yo sé que está arriba, pero porque php Miami no se conecta, pero te debo el
plus.
Si el primero table plus está en mi computadora, está en el lado del host y recuerden que yo estoy
exponiendo mis puertos del lado del host.
Aquí es donde yo lo estoy corriendo, estoy intentando conectarme desde mi servidor, o sea, mi servidor
es el que está intentando hacer la llamada a este servidor, y este servidor no está expuesto de ninguna
manera para que este contenedor lo pueda ver, ok?
O sea, para que este World TV no lo puede ver y están de manera independientes.
Si ustedes se van a la guía de atajos que les di en la parte de networking, van a ver la regla de oro
que está escrita.
Si dos o más contenedores están en la misma red, pero entiéndase red, un elemento que vamos a crear,
es decir, una red que nosotros creamos aquí, si están en la misma red, van a poder hablar entre sí.
Si no lo están, no van a poder hablar.
Y esto es lo que nosotros ocupamos.
Ocupamos que estos dos contenedores hablen entre sí.
Cómo hacemos eso?
Recuerden, si ustedes iban a la documentación de phpMyAdmin, antes lo hacían con el link, pero ya
sabemos que el link está obsoleto, no hay que utilizarlo, tenemos que utilizar las redes.
En pocas palabras, lo que tenemos que hacer ahora es crearnos una red y en esa red meter ambos contenedores.
Al estar esos dos contenedores en la misma red van a poder hablar entre sí como si físicamente fueran
servidores conectados físicamente al mismo switch en el cual ustedes van a poder inclusive usar el nombre
mediante un DNS que Docker no genera, que ese DNS es el mismo nombre que nosotros tenemos para ese
contenedor.
Es decir, nosotros vamos a poder hacer referencia a phpMyAdmin con este nombre y phpMyAdmin va a poder
conocer la base de datos mediante este nombre también.
Y esto es súper, súper genial.
No tenemos que ser expertos en redes para lograr manejar esto.
Ok, por ahora dejémoslo hasta ese punto y en la siguiente clase hagamos nuestra primera red de estos
dos contenedores.