TL; DR: вы не сохраняете свои данные.
Docker контейнеры не сохраняют данные из коробки, вам необходимо явно указать docker, чтобы сохранить любые данные, созданные внутри контейнера, когда контейнер удален.
Вы можете узнать больше на Использовать тома на странице Docker документации.
Если вы хотите сохранить данные, вам необходимо выполнить следующие шаги :
- Создайте локальный том внутри виртуальной машины, на котором вы хотите сохранить данные. Эта команда должна быть выполнена на экземпляре GCE
mkdir -p /opt/data/jupyterdata
Установите правильное право собственности на папку для идентификатора пользователя, который использует пользователь внутри вашего контейнера. Например, представим, что ваш контейнер
lspvic/tensorboard-notebook
запускает приложение с использованием пользователя
tenorflow с UID 1500. Итак, вам нужно установить право собственности на вашу папку на UID 1500:
chown 1500:1500 /opt/data/jupyterdata -R
Измените команду docker run, чтобы смонтировать локальный каталог как том внутри контейнера. Например, представьте, что внутри вашего контейнера вы хотите сохранить файлы в / var / lib / jupyter (это пример), вам нужно будет изменить команду docker run следующим образом:
docker run -it --rm -p 8888:8888 \
-v /opt/data/jupyterdata:/var/lib/jupyter:Z \
lspvic/tensorboard-notebook
ПРИМЕЧАНИЕ: параметр :Z
необходим, чтобы избежать проблем SE LINUX
Теперь ваши данные, сохраненные в папке /var/lib/jupyter
внутри контейнера, будут сохраняется на /opt/data/jupyterdata
внутри виртуальной машины, поэтому потеря данных больше не будет.