当您使用执行列表时,如…
CMD ["django-admin", "startproject", "$PROJECTNAME"]
…然后Docker将 直接 执行给定的命令,而无需使用shell。由于不涉及任何外壳,这意味着:
- 无变量扩展
- 没有通配符扩展
- 没有I / O重定向功能
>
,<
,|
等 - 没有多个命令通过
command1; command2
- 依此类推。
如果要
CMD扩展变量,则需要安排一个shell。您可以这样做:
CMD ["sh", "-c", "django-admin startproject $PROJECTNAME"]
或者,您可以使用简单的字符串而不是执行列表,这将使您得到的结果与前面的示例大致相同:
CMD django-admin startproject $PROJECTNAME
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)