2017-01-02 4 views
0

Я новичок в Докере. Чтобы пройти курс Udacity Deep Learning, мне пришлось настроить TensorFlow на моем компьютере с Windows, используя Docker. (Хотя TensorFlow теперь доступен в Windows, он поддерживает только Python 3.5, однако для материала курса Udacity требуется Python 2.7. Поэтому я должен придерживаться метода Docker для использования TensorFlow.)Как запустить новый файл Jupyter Notebook, который не является частью предварительно созданного изображения докеров в докере?

Для работы над заданиями I следуют the instructions here, как описано ниже:

  • Первый, I installed docker toolbox.
  • Затем я запускаю Docker с помощью терминала быстрого запуска Docker. Впервые я побежал:

docker run -p 8888:8888 --name tensorflow-udacity -it gcr.io/tensorflow/udacity-assignments:0.6.0.

Каждый раз после того, как я запускаю это в моем Docker терминале:

docker start -ai tensorflow-udacity

  • Наконец, в адресной строке, с http://192.168.99.100:8888 я получаю назначение Jupyter ноутбуков и работают (смотрите изображение ниже).

enter image description here

Однако то, что я хочу сейчас запустить окончательный проект курса, который не является частью встроенного Udacity Docker изображения. Как я могу это сделать? The final project can be found here, с «digit_recognition.ipynb», конкретно являющимся файлом для запуска в докере.

Любое руководство очень ценится.

ответ

1

Альтернативным и более простой способ заключается в следующем:

  • Просто начните свой контейнер, как это: $ докер начать -ai tensorflow-Udacity
  • Затем нажмите кнопку загрузки и найдите конечную файл iPython Notebook и загрузите его.

Всё. Все изменения, которые вы сделаете, будут сохранены, и вы сможете увидеть новый файл в контейнере в будущем!

enter image description here

1

Прежде всего, вам нужен способ получить этот ноутбук Jupyter (окончательный проект) на вашем экземпляре Docker.

Что такое простой способ скопировать файл внутри контейнера Docker? Ну, не так много.

  • Мы могли бы attach a volume.
  • Мы могли бы переписать файл Docker, чтобы включить окончательный проект.
  • Мы также можем ввести контейнер Docker и загрузить файл.

Я собираюсь подробно рассказать о последнем, но не забывайте, что существует много решений одной проблемы.

Как мы входим в контейнер Docker?

docker exec -it [container-id] bash

Как мы можем получить [container-id]?

docker ps

Он покажет вам список контейнеров, соответствует тому, который вы хотите, чтобы войти в систему.

После того, как вы в вашем контейнере. Как мы можем скачать нужный файл?

Мы должны попытаться выяснить, есть ли у нас wget или curl утилит для скачивания файла. Если мы этого не сделаем, мы должны установить их из любого доступного менеджера пакетов (попробуйте apt-get, если он работает, выполните: apt-get install wget).

Как только у нас есть что скачать файлы из Интернета, мы должны выяснить, где хранятся записные книжки. Это сложная часть.

Ищите любую папку, которая может содержать, также может быть какой-то волшебный один лайнер для ввода с использованием find, к сожалению, я больше не волшебник.

Предположим, вы находитесь в хорошей папке.

Wget https://raw.githubusercontent.com/udacity/machine-learning/master/projects/digit_recognition/digit_recognition.ipynb

Это все! Перезагрузите страницу, и вы увидите ноутбук.

Примечание: вам также может потребоваться установить дополнительные зависимости в контейнере.

+1

Thank you @Raito! Я попробую это и отметю, как принято, если это сработает! –