如何提取安装了特定库版本的Docker映像?

如何提取安装了特定库版本的Docker映像?,docker,tensorflow,legacy,Docker,Tensorflow,Legacy,我有一个过时的神经网络训练Python 2.7脚本,它在tensorflow 1.4的基础上使用keras 2.1;我希望它能在我的nVidia GPU上得到训练;我已经在Linux上安装了CUDA SDK 10.2。我认为Docker Hub正是用于发布冻结的软件包的,但似乎没有办法找到包含特定软件集的容器。 我知道docker>=19.3具有本机gpu支持,并且nvidia docker实用程序具有cuda不可知层;但问题是,我无法安装所需版本的keras gpu和tensorflow gp

我有一个过时的神经网络训练Python 2.7脚本,它在tensorflow 1.4的基础上使用keras 2.1;我希望它能在我的nVidia GPU上得到训练;我已经在Linux上安装了CUDA SDK 10.2。我认为Docker Hub正是用于发布冻结的软件包的,但似乎没有办法找到包含特定软件集的容器。

我知道docker>=19.3具有本机gpu支持,并且nvidia docker实用程序具有cuda不可知层;但问题是,我无法安装所需版本的keras gpu和tensorflow gpu,找不到控制盘,并且此遗留脚本无法与其他版本一起使用。

您从何处获得Docker Hub承载具有所有可能库组合的图像的想法

如果找不到适合自己的映像,只需构建自己的映像。

1)如果可以构建,为什么我需要将软件堆栈封装起来?2) 正如我已经说过的,我找不到tf-gpu1.4 wheel,也无法使用常规方法(如conda install)沿keras-gpu2.1安装它。3)所有这些似乎都与cuda10.21不兼容。为了避免在主机上安装LIB,避免与其他项目发生冲突,并确保可重用性,您将其容器化。2) 3)如果没有Docker就做不到,那么Docker也做不到。1)但为了建立自己的Docker映像,我必须在主机上安装libs;2) 使用venv很容易解决冲突;3) 如果这在2014年是可能的,那么在2020年也是可能的,因为cuda不可知的gpu驱动器1)不,你没有。您只需将适当的
RUN
语句添加到Dockerfile中,程序包仅包含在图像中。2) 是的,在Python的例子中有多种避免冲突的方法,Docker只是其中之一。3) 理论上是的,但是如果旧版本的libs在回购协议中没有可用的logner。。。