在我的 Dockerfile 中:
ENV PROJECTNAME mytestwebsite
CMD ["django-admin", "startproject", "$PROJECTNAME"]
错误:
CommandError: '$PROJECTNAME' is not a valid project name
这里最快的解决方法是什么? Docker 是否有计划在更高版本的 Docker 中“修复”或引入此功能?
注意:如果我从 Docker 文件中删除 CMD 行,然后运行 Docker 容器,我可以从容器内部手动运行 Django-admin startproject $PROJECTNAME ,它将创建项目…
原文由 david 发布,翻译遵循 CC BY-SA 4.0 许可协议
当您使用执行列表时,如…
…然后 Docker 将 直接 执行给定的命令,而不涉及 shell。由于不涉及外壳,这意味着:
>
,<
,|
等command1; command2
如果你想让你的
CMD
扩展变量,你需要安排一个shell。你可以这样做:或者你可以使用一个简单的字符串而不是一个执行列表,它得到的结果与前面的例子大致相同: