我想将一个 docker 镜像推送到 Heroku 并在我的 Dockerfile 中使用以下 ENTRYPOINT 运行它:
ENTRYPOINT ["sh","-c", "/entrypoint.sh --port $PORT"]
在 entrypoint.sh 中,我打印所有参数:
echo "$@"
while [ "$#" -gt 0 ]
do
echo "arg1 = $1"
echo "arg2 = $2"
case $1 in
-p|--port)
PORT=$2
;;
esac
shift
done
echo $PORT
当我在本地运行它时,我得到了预期的结果。
但是当我将它推送到 Heroku 时,我在日志中看到了这一点:
Starting process with command `sh -c /entrypoint.sh\ --port\ \49778`
所以我可以假设 --port 是正确的。但是当我回显 $PORT 时,我得到一个空结果。
有人可以帮忙吗?谢谢