我只是对Dockerfile进行了一些修改,以便在Heroku上使用Nginx运行它。Heroku的特别之处在于,所有内容都以非root用户身份运行。第二种特定行为是使用来自Heroku本身的随机端口,您不能对其进行修改。它们提供了env $ PORT,您应该将其绑定到nginx。如果Heroku识别到某项未绑定到该端口,则会停止整个容器。问题是:
如何将nginx绑定到给定的env变量,以便在nginx-site.conf中具有动态端口?我试图在Dockefile中使用如下内容:
env PORT;在nginx.conf并listen PORT_from_env;在nginx的-site.conf
还试图listen 80;在nginx的-site.conf并RUN /bin/sed -i "s/listen 80/listen ${PORT}/" /etc/nginx/sites-available/default.conf在Dockerfile
我绝对超能力。有人有想法或可以帮忙吗?这将非常有帮助!
更多信息: