构buildPlay应用程序作为Docker镜像,重新映射端口
我试图将我的Play应用程序构build到端口8080上的Docker容器中。 请求端口8080上的泊坞窗容器打我的播放应用程序。
我遇到麻烦了。 我想我可以通过将Docker端口8080映射到内部端口9000,但我无法弄清楚如何使用sbt插件来做到这一点。 我所能做的就是改变暴露的端口使用
dockerExposedPorts := Seq(8080)
sbt-docker只build立docker镜像。 公开一个端口是正确的,但你仍然必须连接到主机networking。
为此,您必须启动容器并提供正确的映射。
docker run -p 9000:8080 ... yourImage ...
你有两个select。 首先是使用默认端口9000启动游戏应用程序,运行容器时使用Docker端口映射将容器外部的端口8080redirect到容器内部的端口9000:
docker run -p 8080:9000 yourimage
选项二是编辑你的application.conf
并将生产端口改为8080:
# production play.server.http.port = "8080"
完成后,更改dockerExposedPorts
:
dockerExposedPorts := Seq(8080)
注意,它仍然会在开发模式( activator run
)下在端口9000上activator run
。