логотип PurpleSchool
логотип PurpleSchool

Настройка Jupyter для работы с Notebook, JupyterLab и другими интерфейсами в Docker

Автор

Олег Марков

Введение

Использование Jupyter в контейнерах Docker – это эффективный способ организовать вашу аналитическую и вычислительную среду. В данной статье мы рассмотрим, как настроить Jupyter Notebook, JupyterLab и другие интерфейсы, используя Docker. Мы пройдемся по шагам создания и настройки контейнера, объясним, как работает каждая часть процесса, и покажем примеры кода для лучшего понимания. Эта информация поможет вам быстрее и проще приступить к работе с Jupyter в Docker.

Установка Docker

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

Установка на Windows и Mac

Docker Desktop – это приложение для Windows и macOS, которое позволяет управлять контейнерами Docker удобно и быстро. Для начала скачайте Docker Desktop с официального сайта Docker и следуйте инструкциям по установке.

Установка на Linux

Для установки Docker на Linux вы можете использовать пакетный менеджер вашей конкретной дистрибуции. Например, для Ubuntu выполните следующие команды в терминале:

sudo apt-get update                 # Обновление списка пакетов
sudo apt-get install docker-ce      # Установка Docker Community Edition

После успешной установки Docker убедитесь, что он работает, запустив следующую команду:

docker --version        # Выводит текущую установленную версию Docker

Настройка Jupyter в Docker

Теперь, когда Docker установлен, мы можем приступить к настройке Jupyter. Существует множество официальных Docker-образов Jupyter, и в данном примере мы будем использовать образ jupyter/base-notebook, который содержит Jupyter Notebook и базовые средства.

Запуск контейнера Jupyter

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

docker run -p 8888:8888 jupyter/base-notebook
  • -p 8888:8888 осуществляет проброс порта, чтобы вы могли получить доступ к Jupyter через веб-интерфейс.
  • jupyter/base-notebook – это имя образа Docker, который мы используем.

Как только контейнер будет запущен, в терминале появится URL с токеном доступа. Используйте этот токен, чтобы открыть Jupyter в вашем браузере.

Понимание структуры Dockerfile для Jupyter

Смотрите, я покажу вам, как выглядит типичный Dockerfile, чтобы вы могли создать свой собственный образ, если это необходимо:

FROM jupyter/base-notebook             # Базовый образ Jupyter

RUN pip install numpy pandas           # Установка необходимых библиотек

CMD ["start-notebook.sh", "--NotebookApp.token=''"]    # Запуск Jupyter без пароля

Этот Dockerfile позволяет установить дополнительные библиотеки, такие как numpy и pandas, которые часто используются в аналитических задачах.

Конфигурация JupyterLab

JupyterLab – это более современный интерфейс для Jupyter, предлагающий расширенные возможности по сравнению с традиционным Notebook.

Установка и запуск JupyterLab

Вы можете установить JupyterLab в существующий контейнер Jupyter, просто запустив:

pip install jupyterlab          # Установка JupyterLab в контейнере
jupyter lab                     # Запуск JupyterLab

Использование Docker Compose для управления JupyterLab

Вместо вручного ввода команд каждый раз, вы можете использовать docker-compose для автоматизации запуска контейнеров. Вот пример docker-compose.yml, который запускает JupyterLab:

version: '3'
services:
  jupyterlab:
    image: jupyter/base-notebook
    environment:
      - JUPYTER_ENABLE_LAB=yes       # Активируем JupyterLab
    ports:
      - "8888:8888"                  # Проброс порта

Запуск docker-compose up автоматически проведет всё необходимое для поднятия сервиса с JupyterLab.

Заключение

В этой статье мы подробно рассмотрели процесс настройки Jupyter Notebook и JupyterLab в контейнерах Docker. Узнали, как осуществляется установка Docker, запуск контейнеров и как использовать docker-compose для более удобного управления. Теперь у вас есть знания и примеры, которые помогут эффективно использовать Jupyter на вашем сервере или локальной машине.

Карта развития разработчика

Получите полную карту развития разработчика по всем направлениям: frontend, backend, devops, mobile