在启动时保留docker实例状态,并且不丢失上一个会话';工作

在启动时保留docker实例状态,并且不丢失上一个会话';工作,docker,tensorflow,machine-learning,keras,deep-learning,Docker,Tensorflow,Machine Learning,Keras,Deep Learning,我有一个docker映像,在我的GPU上运行TensorFlow/Keras 我会这样开始,打开一个Jupyter笔记本- sudo systemctl daemon-reload sudo systemctl restart docker sudo docker run --rm --runtime=nvidia -v -it -p 8888:8888 tensorflow/ tensorflow:2.0.0a0-gpu-py3-jupyter 问题是,每次

我有一个docker映像,在我的GPU上运行TensorFlow/Keras

我会这样开始,打开一个Jupyter笔记本-

    sudo systemctl daemon-reload
    sudo systemctl restart docker

    sudo docker run --rm --runtime=nvidia -v -it -p 8888:8888 tensorflow/
    tensorflow:2.0.0a0-gpu-py3-jupyter
问题是,每次我启动它时,它都会启动一个新实例,而以前的所有会话工作都将丢失。如何在每次启动时保持状态

问题是,每次我启动它时,它都会启动一个新实例,而以前的所有会话工作都将丢失。如何在每次启动时保持状态

容器是短暂的…当您调用
docker run
时,您正在创建一个新容器,它不会从以前的容器继承任何状态。如果要在容器生命周期之外维护数据,则使用

您可以从docker分配命名卷,也可以将主机目录分配到容器中


您需要在容器内找到合适的路径来装载存储。

您可以启动以下容器:

sudo docker run --runtime=nvidia -it -v /homepath:/workspace -p 8888:8888 tensorflow/tensorflow:2.0.0a0-gpu-py3-jupyter
其中/hometpath是要在计算机和docker容器之间共享的文件夹,/workspace是要复制/homepath的容器内的路径

断开连接后,您可以键入:

docker attach name
其中name是可以通过键入以下内容找到的容器的名称:

docker container ls

您可以将主机卷装载到容器中,这将允许您在启动之间保留数据。不确定这是否适用于sensorflow。