看了AI 的回复测试后 发现不管是在dockerfile 中的 cmd 或者 ENTRYPOINT 都需要让程序挂起,不然容器会退出 我的解决办法是 去掉dockerfile 中的cmd 和 ENTRYPOINT 在docker-compose 中直接去执行这个sh 脚本 command: ['/bin/bash',"/bar/www/sh.sh"] 或者 entrypoint: ['/bin/bash',"/bar/www/sh.sh"] shell 脚本中 最后一句 php-fpm 如果不是php 可以写 tail -f /dev/null 这样就可以让容器保持运行并且也成功的执行了脚本