容器解决什么问题

Docker 可以把系统依赖、运行时和 Python 包封装在镜像中,减少不同机器之间的环境差异。它尤其适合需要复杂编译工具链的项目。

镜像应当可重建

不要只保存一个无法解释的镜像标签。Dockerfile、依赖锁文件和构建参数都应进入版本管理,并尽量固定基础镜像版本。

数据与结果放在容器外

数据集、检查点和实验输出适合通过挂载目录保存。容器可以随时删除,而结果不应随容器生命周期消失。

GPU 与性能

使用 GPU 时需要记录驱动、CUDA 和框架版本。容器减少了用户空间差异,但不能完全屏蔽宿主机硬件与驱动的影响。