Работа с Docker-образами
Вы можете настроить окружение для выполнения вашего кода, используя Docker-образы.
Yandex DataSphere позволяет создавать репозитории Docker-образов в проекте, а также выбирать образ для проекта. Выбранный образ будет использоваться при запуске кода во всех ноутбуках проекта.
Создать Docker-образ
-
Выберите нужный проект в своем сообществе или на главной странице
DataSphere во вкладке Недавние проекты. -
В правом верхнем углу нажмите Создать ресурс. Во всплывающем окне выберите Docker-образ.
-
Заполните поля:
-
Путь к образу внутри проекта — путь внутри проекта, где будет размещаться созданный Docker-образ;
.
— корневая директория. -
Имя образа — имя образа, например
tensorflow
. -
Тег — тег образа, например
1.0.0
. -
Шаблон Docker-образа — шаблон скрипта для установки Python.
-
Файл Docker — набор инструкций для создания Docker-образа.
Отредактируйте содержимое поля. Например, следующий код создаст Docker-образ с
python_3_8
на основе оригинального образа TensorFlow:FROM tensorflow/tensorflow:2.7.0-gpu RUN set -e \ && useradd -ms /bin/bash --uid 1000 jupyter \ && pip install --no-cache-dir --upgrade pip \ && pip install --no-cache-dir nptyping==1.4.4 pandas==1.4.1 opencv-python-headless==4.5.5.62 scikit-learn==1.0.2 \ && ln -s /usr/bin/python3 /usr/local/bin/python3
-
-
(опционально) В блоке Данные для аутентификации укажите логин и пароль от аккаунта на Docker Hub.
-
Нажмите Собрать.
Будет создан Docker-образ с пакетами библиотеки TensorFlow для использования GPU в расчетах.
-
Выберите нужный проект в своем сообществе или на главной странице
DataSphere во вкладке Недавние проекты. -
В блоке Ресурсы проекта выберите
Docker-образ.
Совет
Библиотека образов Docker Hub
- Создайте подсеть.
- Создайте NAT-шлюз для доступа в интернет.
- Создайте сервисный аккаунт с ролью
vpc.user
. - В настройках проекта добавьте подсеть и сервисный аккаунт.
Вы также можете использовать базовые образы из других библиотек.
Применить Docker-образ для проекта
-
Выберите нужный проект в своем сообществе или на главной странице
DataSphere во вкладке Недавние проекты. -
В блоке Ресурсы проекта выберите
Docker-образ. -
Напротив нужного образа нажмите
и выберите Активировать. -
Откройте проект в JupyterLab и дождитесь окончания загрузки.
-
Откройте вкладку с ноутбуком и убедитесь, что окружение пользовательского образа доступно в вашем проекте. Например, для образа TensorFlow создайте и запустите ячейку со следующим кодом:
#!g1.1 import tensorflow as tf tf.config.list_physical_devices('GPU')
Результат:
... [PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]
Чтобы вернуться к окружению по умолчанию:
-
Выберите нужный проект в своем сообществе или на главной странице
DataSphere во вкладке Недавние проекты. - В блоке Ресурсы проекта выберите
Docker-образ. - Напротив образа по умолчанию нажмите
и выберите Активировать.
Поделиться Docker-образом
Поделиться Docker-образом в сообществе может только администратор сообщества.
Подробнее о ролях, действующих в DataSphere, см. в разделе Управление доступом в DataSphere.
-
Выберите нужный проект в своем сообществе или на главной странице
DataSphere во вкладке Недавние проекты. - В блоке Ресурсы проекта нажмите
Docker-образ. - Выберите нужный образ в списке.
- Перейдите на вкладку Доступ.
- Включите опцию видимости напротив названия сообщества, в котором нужно поделиться Docker-образом.
Чтобы Docker-образ стал доступен для работы в другом проекте, администратор проекта должен добавить его на вкладке Доступные.
Удалить Docker-образ
-
Выберите нужный проект в своем сообществе или на главной странице
DataSphere во вкладке Недавние проекты. - В блоке Ресурсы проекта нажмите
Docker-образ. - В списке Docker-образов выберите тот, который хотите удалить.
- Нажмите
и выберите Удалить. - Нажмите Подтвердить.
Отобразится сообщение о том, что ресурс удален.
Важно
Фактически удаление ресурсов может занимать до 72 часов.