Para esta clase, les voy a pedir que por favor abran una ventana de navegador web y escriban localhost.
Nada más.
Así como lo tenemos en esta ventana más escriban localhost, presionen enter y no debería de tener nada
corriendo en el local host en el puerto 80.
Si ustedes tienen algo que está corriendo en el puerto 80, posiblemente puede ser que tengamos algún
tipo de conflicto, pero igual podemos cambiarle el número de puerto, que eso es una de las ventajas
que tiene Docker.
Pero antes de hacer cualquier otra cosa para las personas que no tienen nada corriendo en el puerto
local juegos y que les aparece un error aquí que dice que no se encuentra nada.
Entonces esto van a poder seguir sin ningún problema.
Y las personas que tienen alguna respuesta yo les recomendaría que lo terminen y si no, en breve les
voy a explicar cómo cambiar ese puerto.
En fin, no tengo nada corriendo acá.
Si ustedes regresan a Docker de esto, van a ver que aquí tienen un comando interesante que es Docker,
Slash, Garín, Starter.
Esto está en Docker hop y es una imagen que nos va a ayudar a nosotros a poder hacer nuestros primeros
pasos en Docker, la cual no es para nada mala.
Es una guía bastante interesante y puede demorar más o menos unas dos 02:30 en que ustedes la hagan
y es altamente recomendada porque es la guía oficial o es una guía oficial.
Entonces hagamos este comando.
Pero noten que aquí Docker no dice Docker container run.
Esta es la otra sintaxis que todavía sigue siendo usada.
Pero vamos a levantar por lo menos esta imagen que tenemos aquí.
Ok, vamos a mandar a llamar este nombre de Docker Slash.
Este es el usuario.
Es Getting Starter.
Ok, entonces voy a venir a la terminal Docker Container Run y pegan eso gettin start y van a presionar
Enter.
Así nada más como hice el comando.
Van a ver qué sucede en varias cosas acá.
Entre ellas empezó a hacer pools de diferentes capas y cada una de esas capas tiene un as que lo identifica
de manera única.
Esto es porque si ustedes vuelven a descargar una imagen o vuelven a descargar esta imagen y las capas
o esos as son exactamente iguales a los que están en internet, o en la nube o en el repositorio.
Entonces usa los locales porque sabe que son idénticos.
Entonces esto le ayuda a Docker a ser mucho más eficiente cada vez que ustedes intenten ejecutar algo.
Luego van a ver aquí que empieza a salir mucha información, que esta información realmente no es tan
importante.
Está la información de los logs que está ejecutando el contenedor y básicamente aquí ya tenemos todo
el proceso.
Si yo vengo nuevamente a la consola de Google Chrome y recargo, van a ver que todavía sigue sin funcionar
la parte del local host.
Y también quiero que observen que si me voy a deshacer de esto, aquí está corriendo.
Me dice que status es running, es decir, ese contenedor está corriendo.
También noten que no hay ningún puerto publicado, es decir, no tenemos nada para poder acceder al
contenedor.
Y en pocas palabras, es como que ustedes tengan una pelota de boliche sin ningún agujero.
Es decir, ustedes la tienen ahí y no pueden usarla técnicamente porque le faltan esos, esos agujeros
en la bola de boliche para poderla lanzar, por ejemplo, propiamente.
Si yo presiono Control C, cancelo el proceso y cancelo también la ejecución de ese contenedor.
Y ahora está que se detuvo.
Ven.
Que interesante.
Cómo es que hago para que esto se mantenga corriendo y que yo pueda exponer algún puerto, etcétera,
etcétera?
Esos son los otros comandos que mencionaba.
Esa, esa documentación que nosotros copiamos, vamos a hacer nuevamente Docker container run, pero
esta vez voy a ponerle el menos de que significa di touch, es decir, de modo desplazado de la consola
y todo eso.
Ustedes también lo tienen, lo tienen por aquí.
Ok, ustedes tienen la explicación por aquí y luego el mismo nombre Docker.
Perdón Slash Getting started.
Presiono Enter.
Van a ver que se montó esa.
Esa misma imagen en un contenedor.
No hubo ninguna descarga porque ya todo lo tenía localmente.
Y si yo regreso a Docker de esto, aquí tenemos otra imagen montada en este contenedor que está corriendo
con un nombre obviamente aleatorio.
Y ahí tenemos los mismos logs, pero aquí está corriendo mi aplicación.
Nuevamente regreso a la consola, no puedo ver el navegador web, Van a ver que no puedo hacer nada
en el local porque es exactamente lo mismo que yo acabo de hacer.
Con la diferencia de que como esta imagen está corriendo de modo desenlaza la terminal, si yo presiono
control, no pasa absolutamente nada.
Si hago un docker container nuevamente ls van a ver que aquí tenemos esa imagen que esta corriendo super
genial.
Si yo quiero detener esa imagen, es decir, hacer algo muy similar a venir acá y tocar este botón de
stop sería básicamente lo mismo.
La misma mecánica toque el container stop, presiono enter.
Y me va a decir que estaba esperando un argumento.
Ok, tiene mucho sentido, porque si lo digo.
Stop.
Cómo va a saber a que contenedor quiero detener?
Docker, Container Stop.
Y podemos usar nuevamente todo el ID, el nombre o las primeras?
Las iniciales de ese contenedor.
Dos y cuatro.
Presiono Enter y aquí ya se detuvo.
Genial.
Pero ahora viene la parte más increíble.
Todo esto.
Van a presionar el río un par de veces hasta llegar al comando de Docker.
Container Run.
Menos de.
Y adicionalmente, le voy a poner menos pe, que es de publish, es decir, de publicar y quiero publicar
El puerto 80 de mi equipo con el puerto 80 del contenedor que ya lo está exponiendo.
Presionen enter.
Vamos a ver que sucede.
Ahora voy a regresar a Docker de esto.
Aquí lo tenemos corriendo nuevamente.
Docker container.
LS Ahí lo tenemos corriendo también con otro nombre.
Van a notar que aquí pasó algo diferente.
En la parte de los puertos.
Estamos mapeando nuestro local en Host 80 con el puerto, 80 también el contenedor con el protocolo
TCP.
Y ahora regresamos al navegador web y recargarlo.
Y tengo un sitio web que está corriendo ahí.
Ven que interesante en el cual ustedes pueden venir, pueden hacer descargas, pueden hacer este tutorial
que es bien interesante hacerlo y vale la pena que lo hagan si tienen un rato libre.
Nuevamente tenemos nuestro contenedor corriendo, está respondiendo en el local y lo demás, pero digamos
que nosotros ya tendríamos ocupado el puerto 80 80 de nuestro equipo.
Noten que si hago nuevamente un Docker container stop uno n que ese es el id corto de ese contenedor
enter recargo ya no tengo nada.
Ok, ahora voy a hacer exactamente el mismo comando de Docker Container run de que es P para publicar
el puerto y además puedo ponerlo de la manera corta menos de P, que es de touch y el publish.
El primer puerto es el puerto de mi equipo.
Entonces lo que quiero hacer ahora es mapear el puerto 80 80 de mi equipo con el puerto 80 que está
siendo expuesto en ese contenedor.
Voy a presionar Enter, se ejecuta, puedo regresar nuevamente a el Docker container, el FS y van a
ver que ahora tenemos esa misma información.
El local 80 de mi equipo lo estaba creando con el puerto 80 el protocolo TCP del contenedor.
Si yo regreso a en navegador web recargo, eso no funciona porque yo no tengo nada corriendo en el puerto
80.
Lo que si tengo ahora es en el puerto 80 80.
Tengo corriendo ese puerto, ya tengo comunicada esos dos, el contenedor que está aislado y solo está
exponiendo ese puerto y está mapeando con mi puerto 80 80 de la computadora, lo cual es increíblemente
genial porque yo puedo tener varias instancias de el mismo contenedor corriendo en diferentes puertos
si así lo llegara a necesitar yo y es la misma imagen tarea.
Necesito que detengan el contenedor, es decir, le hago un stop y luego lo prueben, que ya no esté
arriba y luego lo vuelvan a iniciar, pero usando el comando start del contenedor.
Es decir, básicamente lo que yo les voy a pedir ustedes que hagan es un Docker container stop, prueba
y luego el Start.
Aquí falta el aire del contenedor, obviamente, y hagan esas pruebas respectivas.
Y cuando hacen esas pruebas respectivas, también necesito que eliminen el contenedor y eliminen la
imagen.
Ambas.
Ambas cosas también.
Entonces van a ponerle paso al video.
Traten de hacerlo.
Mi solución en breve.
Pasa ya.
Ok, lo lograron hacer?
Espero que si, y si no, pues resolvamos esto juntos.
Ahorita lo tengo corriendo.
Voy a venir y hacer primero un Docker container.
Ls enter.
Este es mi Haití del contenedor.
Entonces Docker container lo escribimos bien Docker container stop seguido de el as o el nombre o lo
que ustedes quieran ponerle.
Lo detengo.
Esperemos un segundo.
Voy a regresar aquí.
Todavía me va a responder porque ahora si ya recargo y ahora si ya no, no está arriba.
Si yo lo quiero levantar es básicamente lo mismo mediante el start, con el mismo el asno o el idi.
Eso no ha cambiado porque no he removido el contenedor.
Van a ver que ahora recargo y ahí está funcionando.
Y también ahora les había pedido que lo borraran.
Hay varias formas de borrar todo.
Recuerde que nuestro contenedor está corriendo y aquí también lo podemos ver.
Está corriendo y todo lo demás.
Puedo venir a la consola y escribir Docker Container RM, seguido de el ID de ese mismo contenedor que
sería el mismo.
Yo sé que es el mismo porque no lo he borrado ni nada, pero actualmente el contenedor está corriendo.
Yo estaría esperando que esto me dé un error y me dice error, no puede remover un contenedor que está
corriendo, ok?
Me dice que me asegure de detenerlo o borrarlo de manera forzada.
Qué es eso de borrarlo de manera forzada?
Que de hecho ustedes también lo tienen por aquí.
Van a ver que por acá, en algún lado, tenemos la forma de hacerlo.
Hacerlo mediante una eliminación forzada.
Aquí está.
Este de aquí.
Entonces básicamente sería lo mismo.
Docker Container.
RM de remover.
F para que lo haga forzado en la idea del contenedor o contenedores.
Entonces voy a hacer lo mismo.
Voy a hacer primero un Docker container RM para borrarlo, jefe, para forzarlo.
Y luego el ID de ese contenedor que sería B A1.
Presiono Enter.
Voy a venir aquí.
Recargo Ya no está arriba.
Voy a regresar, que no tengo nada.
Y todavía tengo mucha basura que dejamos ahí.
Docker container.
LS Ah!
Tengo ese montón Docker container front enter.
Si, enter.
Y borramos todo.
Si yo regreso a Docker de esto no tengo nada solo para que ustedes lo vean.
Pero todavía tenemos la imagen de que estar.
Eliminemos la también.
Entonces, Docker.
No de Ikea Docker Image LS Vamos a ver que aquí tenemos.
Vamos a eliminarlo por el repositorio esta vez en vez del IDE o el as corto Docker Image RM seguido
del nombre lo elimina y noten que aparece un montón de cosas, esto es, que está eliminando cada una
de las capas que crearon esa imagen.
Entonces, si alguna otra descarga usaba la misma imagen, entonces va a tener que descargarla porque
yo ya no lo estoy teniendo localmente.
Ok, no puedo ser el Docker Image ls No hay nada Docker de stop, no hay nada y hemos hecho una limpieza
completa de este procedimiento.
Ok, lo veo en el siguiente video.