Heroku使用端口参数运行Docker镜像

Hoe*_*ers 8 heroku docker dockerfile

当我将现有的Docker镜像推送到Heroku时,Heroku提供了一个$PORT环境变量.如何将此属性传递给Heroku运行实例?

在localhost这样的工作:

docker pull swaggerapi/swagger-ui
docker run -p 80:8080 swaggerapi/swagger-ui
Run Code Online (Sandbox Code Playgroud)

在Heroku我应该这样做:

docker run -p $PORT:8080 swaggerapi/swagger-ui
Run Code Online (Sandbox Code Playgroud)

这样的事情可能吗?

Eli*_*les -1

您的 Docker 容器需要侦听 Heroku 指定端口中的 HTTP 流量。

查看swaggerapi/swagger-ui 的 Github 存储库中的 Dockerfile ,看起来它已经支持 PORT 环境变量:https://github.com/swagger-api/swagger-ui/blob/be72c292cae62bcaf743adc6236707962bc60bad/Dockerfile#L13

那么也许你真的不需要做任何事情?如果将这个图像作为网络应用程序发送到 Heroku,那么看起来这个图像就可以工作。