Dockerfile中CMD指令无法运行Python脚本的问题排查
问题原因及解决办法
核心问题出在你启动容器的命令上:
docker run -it anonymizer /bin/bash里的/bin/bash会直接覆盖Dockerfile中定义的CMD指令。Docker容器启动时,如果在docker run命令末尾指定了自定义命令,就会优先执行这个命令,完全忽略原本的CMD配置。这就是为什么你进入容器后脚本没自动运行,但手动敲命令能正常生成文件的原因。两种解决方式:
- 要让脚本自动执行,直接运行容器,不要加额外命令:
docker run anonymizer - 如果想先执行脚本,再进入交互式终端,可以用组合命令启动:
docker run -it anonymizer sh -c "python ./anonymizer/app/main.py && /bin/bash"
- 要让脚本自动执行,直接运行容器,不要加额外命令:
内容的提问来源于stack exchange,提问作者Balajee Addanki
相关产品推荐
相关产品推荐

