Локальные файлы для ноутбука Jupyter, работающего в Docker?

Фон

Я следовал руководству здесь, которое происходило следующим образом. :

  1. создайте образ, а затем контейнер для API обнаружения объектов TensorFlow из файла Dockerfile.

  2. В конце Dockerfile запускается блокнот Jupyter, и я могу видеть и редактировать все, что клонировал через github.

  3. Мне пришлось внести некоторые изменения, чтобы заставить его работать, но теперь он работает.

  4. Затем я отправил этот образ в Dockerhub с именем: tf_od_api:part1.

  5. #P7# <блочная цитата> #P8#
  6. Идентификатор контейнера: dc91f5b5e6759bac3dfe4e713406fd0e2a217637241a45d9a20d5cfc347d40d8

  7. Блокнот Jupyter по адресу localhost:8888.


Нет данных в графическом интерфейсе блокнота Jupyter

Теперь я хочу использовать свои локальные данные (более 10 ГБ) для обнаружения объектов, и для этого мне нужно использовать скрипт из API обнаружения объектов, который будет создавать и сохранять tfrecords для будущих задач. Поэтому мне нужно сохранить эти данные, но я не хочу каждый раз загружать их. Я попробовал решение, приведенное здесь. Команда, которую я использую для этого:

docker run -v /home/kneazle/data/KITTI:/data_host/KITTI kneazle/tf_od_api:part1

Но вывод этой команды:

[I 11:06:50.547 NotebookApp] Writing notebook server cookie secret to /root/.local/share/jupyter/runtime/notebook_cookie_secret
[W 11:06:50.560 NotebookApp] All authentication is disabled.  Anyone who can connect to this server will be able to run code.
[I 11:06:50.564 NotebookApp] Serving notebooks from local directory: /tensorflow/models/research/object_detection
[I 11:06:50.564 NotebookApp] The Jupyter Notebook is running at:
[I 11:06:50.564 NotebookApp] http://(a915e0cd0fd0 or 127.0.0.1):8888/
[I 11:06:50.564 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).

Я не вижу данные в блокноте Jupyter, которые я начал до или после. я тоже пробовал

docker run --runtime=nvidia -it 
    --name tensorflow -p 8888:8888 
    -v /home/kneazle/data/KITTI:/data_host/KITTI kneazle/tf_od_api:part1

Как я могу использовать свои локальные файлы для блокнота Jupyter, работающего в Docker?


person kneazle    schedule 02.11.2018    source источник
comment
Я думаю, вы близки к тому, чтобы понять это --notebook-dir - это каталог, который вы видите в jupyter, то есть /tensorflow/models/research/object_detection, поэтому вам нужно смонтировать свои данные в подкаталог этого каталога в контейнере. Попробуйте: -v /home/aev21/data/KITTI:/tensorflow/models/research/object_detection/data_host/KITTI   -  person William D. Irons    schedule 02.11.2018
comment
Это сработало! Спасибо большое! Означает ли это, что все, что я пишу в эту папку с хоста, а также из контейнера докеров, останется?   -  person kneazle    schedule 04.11.2018
comment
Да, когда вы пишете в этот каталог в контейнере, поскольку он монтируется с хоста, вы изменяете этот каталог на хосте.   -  person William D. Irons    schedule 05.11.2018
comment
Возможный дубликат Показать файлы томов в графическом интерфейсе Docker Jupyter блокнот   -  person hhh    schedule 06.01.2019
comment
@kneazle, если вы решили проблему, не могли бы вы ответить на свой вопрос? Это немного трудно понять.   -  person hhh    schedule 06.01.2019
comment
Пожалуйста, напишите ответ, если вам удалось его решить   -  person antonioACR1    schedule 13.06.2021