Python与Docker入门部署遇app.py文件找不到错误求助
解决Docker运行Python容器时找不到app.py的问题
你遇到的核心问题是容器内没有正确复制到app.py文件,导致Python找不到要执行的脚本。我们一步步来排查和解决:
第一步:确认本地文件结构
首先要确保你的Dockerfile和app.py在同一个本地目录下,正确的目录结构应该是这样的:
my-python-docker/ ├── Dockerfile └── app.py
如果app.py放在子文件夹里,或者Dockerfile在其他位置,COPY . /app命令就没法把app.py复制到容器的/app目录里。
第二步:验证文件是否被正确复制到容器
你可以先运行一个临时容器,查看/app目录里的内容,确认app.py是否存在:
docker run -it --rm test ls /app
如果输出里没有app.py,说明构建时的上下文目录不对,或者文件没在正确位置。这时候你需要切换到包含Dockerfile和app.py的目录,重新执行构建命令:
cd /path/to/your/project-folder docker build -t test .
第三步:优化你的配置(可选,但更规范)
另外,你的app.py里有个小冗余:return print("hello world")其实不需要return,因为print函数本身返回None,直接改成下面这样更简洁:
print("hello world")
重新运行容器
完成上面的步骤后,再执行你的运行命令:
docker run -p 80:80 test
这时候容器应该能正常启动,输出"hello world"了。
注意:你的Dockerfile里EXPOSE 80其实没有实际作用,因为你的Python脚本并没有监听80端口,只是打印内容。如果只是运行一个打印脚本,不需要端口映射,直接docker run test就可以看到输出了。
内容的提问来源于stack exchange,提问作者Alex Hesketh
相关产品推荐
相关产品推荐

