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

问题描述:

所以我Dockerfile结束时,我有这样的:为什么我的Dockerfile CMD不起作用?

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

当我创建图像,然后运行容器,一切正常,没有错误,在泊坞日志中没有错误。但是,仍然有一些问题我看不出来。

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

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

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

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

如果要执行容器的bash,请尝试docker exec命令,并且the document提供示例命令,以便您可以按照步骤操作。