我有一个运行带有三台服务器的节点应用程序的容器:一台用于公共数据的服务器和两台webpack服务器。默认情况下,这些端口在端口3000,3001和3002上运行,但这些端口都可以配置。
似乎我可以像这样运行容器:
docker run -p 3000:3003 -p 3001:3004 -p 3002:3005 -e 'APP_PORT=3003' \
-e 'NG_PORT=3004' -e 'RC_PORT=3005' --expose 3003 --expose 3004 --expose 3005 \
ajcrites/webf
然而,这种方法存在两个问题:
是否有更简单的方法来公开所有可配置端口,无论它们是否从默认值更改?
答案 0 :(得分:2)
您不希望公开所有端口,但是您可以按范围公开和绑定,因为至少是docker 1.5:
docker run -p 3000-3002:3003-3005
我不认为您需要在发布时使用--expose。