为什么我的Dockerfile CMD不起作用?

所以在我的Dockerfile的末尾,我有这样的:

WORKDIR /home CMD django-admin startproject whattt CMD /bin/bash 

当我创build图像,然后运行容器时,一切都按预期工作,没有错误,在Docker日志中没有错误。 不过还是有些问题我看不出来。

第一个也是最重要的问题是CMD django-admin startproject实际上并没有创build任何项目。 在运行容器后,我可以手动运行django-admin startproject,并按预期工作。 当我从Dockerfile中将其作为CMD发布时,则不会创build任何项目。

第二个问题是在django-admin行之后,我把第二个CMD放在/ bin / bash中,所以当我运行容器的时候它会打开一个shell(这样我就可以进入并检查是否创build了django项目)。 这会造成一个问题或冲突与以前的Djangopipe理线? 如果我删除了这一行,那么当我运行容器时,我无法打开shell并检查我的django项目是否在那里?

任何帮助将不胜感激,谢谢。

“在Dockerfile中只能有一个CMD指令。 如果列出多个CMD,则只有最后一个CMD才会生效。“通过Dockerfile参考 。 所以你的第一个CMD不会起作用。

如果要执行容器的bash,请尝试docker exec命令,然后该文档提供示例命令,以便您可以遵循。