使用的命令:

sudo docker run -it -p 80:9000 c822030cc576 sh /app/test/play/docker-entrypoint.sh /app/test/play/servers/server01/play/conf/override.conf /app/log/nflott/play true dev

我的参数:
$2:/app/test/play/servers/server01/play/conf/override.conf
$3:/app/log/nflott/play
$4:true
$5:dev Which needs to be passed to the docker-entrypoint.sh Script

我的entrypoint.sh脚本代码:
        echo "CONFIG:$2
        echo "LOG_HOME:$3"
        echo "SKIP_LOGFILE:$4"
        echo "LOG_ENV:$5

        /app/test/play/servers/server01/play/bin/apiserver  \
         -Dconfig.file=/app/test/play/servers/server01/play/conf/override.conf \
         -Dpidfile.path=/app/test/play/servers/server01/RUNNING_PID \
         -DLOG_HOME=$3 \
         -DSKIP_LOGFILE=$4 \
         -DLOG_ENV=$5 \

     Error:
        CONFIG:/app/test/play/servers/server01/play/conf/override.conf
        LOG_HOME:/app/log/nflott/play
        SKIP_LOGFILE:true
        LOG_ENV:dev
        Bad root server path: /app/nflott/play/docker-entrypoint.sh

似乎在echo语句之后,我的参数没有传递到逻辑块,并且由于错误的根服务器路径问题而失败。如何解决Bad root serer path错误并运行我的脚本?

最佳答案

恕我直言,它们可能会作为docker命令的args传递。您可以改为尝试-e docker选项将它们作为某些命名的env变量传递给docker容器,然后在脚本内部进行访问。

10-07 13:43
查看更多