El 14 de septiembre de 2017, publicamos una versión revisada de nuestra Política de privacidad. Tu uso continuado de video2brain.com significa que aceptas este documento revisado, por lo que te recomendamos que dediques unos minutos a leerlo y comprenderlo.

Docker esencial

Publicar puertos de la imagen

Prueba ahora LinkedIn Learning sin cargo y sin compromiso.

Prueba gratis Mostrar modalidades de suscripción
Todas las aplicaciones que pongamos en marcha que sirvan información, probablemente tengan algún puerto a la escucha. Debemos informar a Docker de los puertos que tienen nuestra aplicación a la escucha para que, a la hora de la orquestación, se puedan ejecutar las conexiones adecuadas. Aprenderemos entonces a utilizar el comando Expose y a conectarnos a un puerto de nuestro contenedor Docker.

Transcripción

Una vez nos vamos haciendo con todos los trucos y con todos los comandos de Dockerfile, lo más probable es que el software que estamos corriendo, queramos que sirva, algún tipo de dato por la red. En este caso como ejemplo, vamos a arrancar un servidor Nginx, que va a servir ficheros estáticos en el puerto 80. Tenemos un Dockerfile sencillito como base, en el que tenemos, una instalación del paquete Nginx, partiendo de Debian 9, borramos el fichero de configuración por defecto de Nginx. Agregamos un fichero de configuración de nuestra cosecha y agregamos un Index.html que está copiado en la ruta que yo he definido en curso.conf que es desde donde va a servir el "root" de los datos, la raíz de los datos que vamos a servir por web. Nosotros ahora, tenemos que avisar a Docker de cuál es el puerto que vamos a exponer, es decir, tenemos que informar a nivel de red, cual es el puerto TCP que va a estar sirviendo datos, podría ver múltiples abiertos, pero nosotros tenemos que decirle a Docker cuál es el utilizable. Hay un comando que es "Expose", que nos sirve para informar a Docker de que vamos a utilizar el puerto que le digamos, el puerto 80. Esto no es suficiente para servir datos, esto es solo informativo para Docker a la hora de la conectividad de red luego tendremos que ejecutar algo más. Y por lo último, lo que hacemos es ejecutar Nginx, con la opción "Daemon off", que lo que hace es dejar en primer plano el proceso de Nginx y no mandarlo al fondo para que sea el proceso principal de nuestro contenedor. Guardamos y compilamos. Ya tenemos todas las capas, y ojo porque ahora no nos es suficiente el hacer el Docker run, sino que, además, le tendremos que decir el puerto que queremos utilizar, porque claro, podríamos tener 10, 20, 30 contenedores con Nginx y no todos van a utilizar el puerto 80 internamente en el contenedor, sí. Pero nosotros tenemos que decirle en qué puerto del servidor que está llevando todos esos contenedores, es el que vamos a mapear o que vamos a exponer ese puerto 80 de dentro del contenedor, por lo tanto, por ejemplo: vamos a decirle que vamos a usar el puerto 2222, con el parámetro "-p" que es el del puerto y lo vamos a mapear al 80 del contenedor, es decir, -p minúscula para seleccionar un puerto, el puerto del servidor 2222, lo redirigimos al puerto 80 del contenedor que vamos a abrir a continuación, que va a ser "curso:nginx", arrancamos, no tenemos ningún mensaje de error y ahora lo que hacemos es cambiarnos a un navegador, y visitamos el puerto local, y ya estamos sirviendo ficheros estáticos. Como veis es muy sencillo. Si paramos el contenedor, y refrescamos ya no hay nada, revisamos tenemos, un fichero de configuración para Nginx, que lo tenemos en "ficheros/curso.conf". Escuchamos en el puerto 80, le decimos que somos el servidor por defecto, le decimos que tomamos todos los "server_name" que existan y que servimos en raíz "var/www/curso", y el index, clásicamente "index.html". Tenemos un estático que es el "index.html" que es nuestra home, y tenemos un Dockerfile, en el que instalamos el paquete de Nginx, borramos el fichero de configuración por defecto, agregamos la configuración personalizada de Nginx, agregamos el html, le decimos que es el puerto 80 el que estamos sirviendo y ejecutamos Nginx en primer plano. Con eso y ni en apenas un segundo, tenemos arrancado nuestro contenedor sirviendo páginas web, como veis es sencillísimo.

Docker esencial

Descubre lo que te ofrece Docker y aprende a empaquetar aplicaciones junto con todas sus dependencias en un contenedor virtual que podrás ejecutar desde cualquier servidor Linux.

2:18 horas (36 Videos)
Actualmente no hay comentarios.
 
Software:
Fecha de publicación:26/04/2017

Este curso video2brain está disponible como descarga y para ser visualizado online. ¡Pero no hace falta que decidas entre las dos opciones! Al comprar el curso, disfrutarás de ambas posibilidades.

La descarga te permite ver las lecciones sin estar conectado/a a internet y supone una navegación fácil y ágil entre capítulo y capítulo. Si vas a trabajar en diferentes ordenadores o si no quieres descargarte el curso completo, entra en la web con tus datos de acceso y disfruta directamente de tus vídeos online. Te deseamos que disfrutes de este curso y te resulte de mucha utilidad.

Estamos a tu disposición si tienes cualquier tipo de duda o pregunta.