从Dockerfile执行Shell脚本

时间:2019-01-08 08:51:27

标签: bash docker

我有一个Shellscript启动python命令(取自HERE

#!/bin/sh

COMMAND='cd /sc2ai/agent && python3 myscript.py'
LOGFILE=restart.txt

writelog() {
  now=`date`
  echo "$now $*" >> $LOGFILE
}

writelog "Starting"
while true ; do
  $COMMAND
  writelog "Exited with status $?"
  writelog "Restarting"
done

我希望在加载容器后立即执行此脚本,并且这样做是这样的:(我的Dockerfile的最后几行)

# Run Apache
CMD apachectl -D FOREGROUND

# Start the Agent
RUN chmod +x agent.sh
ENTRYPOINT ["/bin/bash", "./agent.sh"]

构建,但是在启动(docker-compose up -d --build && winpty docker-compose run sc2 bash)时会产生此错误:

  

./ agent.sh:第2行:$'\ r':找不到命令

     

./ agent.sh:第5行:$'\ r':找不到命令

     

./ agent.sh:第6行:意外令牌'$'{\ r''

附近的语法错误      

'/ agent.sh:第6行:`writelog(){

我在做什么错了?

0 个答案:

没有答案