有多个可configuration端口的Docker容器

我有一个容器,运行一个节点应用程序与三个服务器:一个公共数据服务器和两个webpack服务器。 默认情况下,这些端口可以在端口3000,3001和3002上运行,但是这些端口都可以configuration。

看来,我将能够像这样运行容器:

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 

但是这种方法有两个问题:

  1. 有大量的冗余
  2. 如果没有指定,我想要使用/暴露默认端口

是否有更简单的方法来公开所有的可configuration端口,不pipe它们是否从默认值改变?

你不想公开所有的端口,但是你至less可以使用docker 1.5来暴露和绑定范围:

 docker run -p 3000-3002:3003-3005 

我不认为你需要在发布时使用–expose。