Docker

Docker es un sistema operativo (o runtime) para contenedores. El motor de Docker se instala en cada servidor en el que desee ejecutar contenedores y proporciona un conjunto sencillo de comandos que puede utilizar para crear, iniciar o detener contenedores.

Exponer puertos

Dentro de un archivo Dockerfile podemos exponer puertos de forma declarativa, utilizando el comando EXPOSE 1234, siendo 1234 el numero de puerto que queremos exponer. Hay que tener en cuenta que a pesar de que usemos este comando, los puertos no van a quedar accesibles desde el host. Para esto tenemos que declarar en nuestro comando docker run el puerto del host que queremos mapear al puerto expuesto, o bien desde el archivo docker-compose.yml.

Dentro del Dockerfile el EXPOSE sirve como una forma de documentar y de mostrar que puertos va a exponer el contenedor, pero eso no quiere decir que esos puertos estén accesibles a no ser que lo declaremos.