Docker和Neo4J
我试图让一个Neo4J数据库启动并在Docker容器中运行。 目前我已经通过使用命令运行它:
docker run -d -p 7474:7474 -p 7687:7687 neo4j
..它工作正常。
我想把它放在一个Dockerfile中,所以我可以做一些服务器configuration,但是当我使用Dockerfile时,它并没有公开我设置它暴露的端口,除非我明确地公开它们,当我做“docker运行”时:
FROM neo4j ENV NEO4J_AUTH neo4j/password EXPOSE 7474:7474 EXPOSE 7687:7687
我误解了一些东西,还是不应该用这个configuration自动暴露端口?
EXPOSE指令通知Docker在运行时侦听指定的networking端口。 EXPOSE不会使容器的端口可以被主机访问。 要做到这一点,您必须使用-p标志来发布一系列的端口,或者使用-P标志来发布所有暴露的端口。 您可以公开一个端口号并在外部使用另一个号码进行发布。
要在主机系统上设置端口redirect,请参阅使用-P标志。 Dockernetworkingfunction支持创buildnetworking,而无需公开networking中的端口,有关详细信息,请参阅此function的概述)。