Docker构建Python镜像遇多问题:文件丢失、容器退出、图形不显示
问题原因解析
1. VS Code编写的Dockerfile未同步到本地仓库
- VS Code工作目录未指向本地仓库:打开VS Code时未定位到Dockerfile所在的仓库文件夹,编辑的是其他路径下的文件,而非目标仓库内的Dockerfile。
- 自动保存未启用:VS Code默认可能未开启自动保存,编辑后未手动保存,导致内容未写入磁盘。
- 权限不匹配:若本地仓库目录由
sudo创建,而VS Code以普通用户运行,无该目录的写入权限,修改无法保存到目标文件。
2. 容器运行后立即退出
- 脚本无持续运行进程:Python脚本执行完
plt.show()后直接结束,Docker容器的生命周期绑定主进程,主进程终止后容器自动停止。 - 容器内无图形交互环境:
plt.show()需要图形界面等待用户操作,但Docker容器默认是无图形的非交互式环境,plt.show()无法触发交互,直接结束进程导致容器退出。
3. Docker运行时无图形显示
- 未挂载宿主机X11图形环境:本地运行时Python通过宿主机的X11服务输出图形,但Docker容器默认隔离了宿主机的图形环境,无法访问宿主机显示器。matplotlib在容器内找不到可用的显示输出,因此无法弹出图表。
内容的提问来源于stack exchange,提问作者Rising Sun
相关产品推荐
相关产品推荐

