我正在努力从shell脚本在Docker容器中启动一个django-tornado混合应用程序,并将其--noinput作为django命令的无法识别的参数:
usage: manage.py collectstatic [-h] [--version] [-v {0,1,2,3}]
[--settings SETTINGS] [--pythonpath PYTHONPATH]
[--traceback] [--no-color] [--noinput]
[--no-post-process] [-i PATTERN] [-n] [-c] [-l]
[--no-default-ignore]
manage.py collectstatic: error: unrecognized arguments: --noinput
Run Code Online (Sandbox Code Playgroud)
为什么我会--noinput成为一个未被承认的论点?我的Dockerfile调用一个部署shell脚本来执行collectstatic和migrate命令(两个都带有--noinput参数,两个都失败了.我玩过去除了无关的行,调整命令周围的空格等等都无济于事.我可以运行shell脚本本地没有任何问题;它似乎只是Docker容器RUN调用shell脚本的问题.
Dockerfile:
FROM python:2.7
RUN apt-get update
RUN apt-get install -y build-essential
RUN apt-get install -y python-dev
RUN apt-get install -y libmysqlclient-dev
RUN mkdir /code
ADD . /code/
WORKDIR /code
RUN pip install -r requirements.txt
CMD ["sh","./deploy.sh"]
EXPOSE 8888
Run Code Online (Sandbox Code Playgroud)
deploy.sh: …