在docker hub中,有一个容器,该容器在启动时会默认打开9000端口。可以通过传递环境变量server__port来覆盖该端口。
我正在尝试在dockerfile中传递Heroku $ PORT值,如下所示:
ENV server__port=$PORT
EXPOSE $PORT
CMD start.sh
当执行start.sh时,我可以看到其中server__port显示为空白的日志。
如果我在server__port环境变量中放置一个随机值'8889',则在日志中可以看到分配给server__port的8889值。
我尝试如下所示使用ARG,但不幸的是server__port变量中的值为空白。
ARG PORT
ENV server__port=$PORT
EXPOSE $PORT
CMD start.sh
如何获取Heroku端口值并在dockerfile中进行设置?
最佳答案
弄清楚了,
我必须导出变量,如下所示。
该变量将定义应用程序将使用的端口。
该命令是
CMD export CONF_listener__port=$PORT && sh ./start.sh && sh ./startServer.sh -Dclearreports.config="$DEFAULT_CONFIG" -Dsetupautoexecution=true
关于docker - 无法在dockerfile中获取heroku $端口,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53809691/