使用的命令:
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容器,然后在脚本内部进行访问。