Introducción
Imagina una escena ambientada en la era victoriana del siglo XIX, donde los participantes asumen el papel de un Medium. El escenario es una mansión victoriana misteriosa, y el objetivo del Medium es invocar espíritus del más allá desbloqueando los secretos de los contenedores Dockerizados.
Explora los puertos del contenedor Docker
En este paso, comenzarás ejecutando un contenedor Docker y luego explorarás los puertos expuestos.
Primero, ejecutemos un contenedor simple de Nginx:
docker run -d -p 8080:80 --name my-nginx nginx
Ahora, inspeccionaremos los puertos en los que el contenedor está escuchando:
docker port my-nginx
La salida esperada debe mostrar el mapeo de los puertos del contenedor a los puertos de la máquina host.
80/tcp - > 0.0.0.0:8080
80/tcp - > :::8080
Prueba con un puerto personalizado
Para este paso, ejecutarás una aplicación de Python personalizada dentro de un contenedor Docker y expondrás un puerto personalizado.
Comienza creando una aplicación de Python simple en un archivo llamado app.py:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, Docker!'
if __name__ == '__main__':
app.run(host="0.0.0.0", debug=True)
Crea un Dockerfile con el siguiente contenido para construir una imagen para la aplicación de Python:
FROM python:3.8
WORKDIR /app
COPY. /app
RUN pip install flask
EXPOSE 5000
CMD ["python", "app.py"]
Ahora, construye la imagen Docker, ejecútala con el puerto personalizado 5000 expuesto y mapea el puerto expuesto al 8081 en la máquina host
docker build -t my-python-app.
docker run -itd -p 8081:5000 --name python-app my-python-app
Una vez que el contenedor esté en ejecución, prueba si la aplicación es accesible agregando un mapeo de servicio web en el menú superior y visitando la URL.
Resumen
En este laboratorio, los participantes emprendieron un viaje para explorar y comprender cómo listar los puertos de los contenedores en Docker. Al crear e inspeccionar los puertos de los contenedores Docker, obtuvieron valiosos conocimientos sobre las capacidades de red de los contenedores Docker, lo que les permitió manejar y solucionar problemas en las implementaciones de contenedores de manera más eficiente.



