Estoy tratando de poner en funcionamiento una base de datos Neo4J en un contenedor docker. Actualmente lo tengo funcionando usando el comando:
docker run -d -p 7474:7474 -p 7687:7687 neo4j.. y está funcionando bien.
Quiero ponerlo en un Dockerfile para poder hacer alguna configuración del servidor, pero cuando uso el Dockerfile, no expone los puertos que configuré para exponer a menos que los exponga explícitamente cuando hago "docker run":
FROM neo4j ENV NEO4J_AUTH neo4j/password EXPOSE 7474:7474 EXPOSE 7687:7687¿Entendí mal algo o no deberían exponerse los puertos automáticamente con esta configuración?
La instrucción EXPOSE informa a Docker que el contenedor escucha en los puertos de red especificados en tiempo de ejecución. EXPOSE no hace que los puertos del contenedor sean accesibles para el host. Para hacerlo, debe usar el indicador -p para publicar un rango de puertos o el indicador -P para publicar todos los puertos expuestos. Puede exponer un número de puerto y publicarlo externamente con otro número.
Para configurar la redirección de puertos en el sistema host, consulte el uso del indicador -P. La función de red de Docker admite la creación de redes sin necesidad de exponer puertos dentro de la red; para obtener información detallada, consulte la descripción general de esta función).