Files
mini-lakehouse-lab/jupyter/Dockerfile
T
ddadmin d69fec2bf5 docs(plans): добавлен план Модуля 2 и обновлены зависимости стенда
- Зачем:
  - необходимо зафиксировать структуру второго модуля «Ментальная модель Lakehouse» и подготовить инфраструктуру для инспекции компонентов.
- Что:
  - создан файл plans/module-02-lakehouse-mental-model.md с детальным планом работ, целями и чекпоинтом.
  - в jupyter/Dockerfile добавлены библиотеки boto3 и psycopg2-binary для программного доступа к MinIO и PostgreSQL из ноутбуков.
  - модуль 2 добавлен в общий индекс планов в plans/README.md.
- Проверка:
  - файл плана соответствует методике курса, в Dockerfile запинены версии библиотек.
2026-03-07 01:18:29 +03:00

33 lines
1002 B
Docker
Executable File

# Берем за основу контейнер, приготовленный для spark в spark/Dockerfile
FROM de-spark-iceberg:3.5.1
USER root
ENV DEBIAN_FRONTEND=noninteractive
# Устанавливаем JupyterLab и пакеты для инспекции стенда (MinIO, PostgreSQL)
RUN pip3 install --no-cache-dir \
"jupyterlab==4.2.5" \
"boto3>=1.35,<2" \
"psycopg2-binary>=2.9,<3"
# Создаём непривилегированного пользователя
ARG NB_USER=jovyan
ARG NB_UID=1000
ARG NB_GID=100
RUN if ! getent group ${NB_GID} >/dev/null; then groupadd --gid ${NB_GID} ${NB_USER}; fi \
&& useradd --uid ${NB_UID} --gid ${NB_GID} -m -s /bin/bash ${NB_USER} \
&& mkdir -p /opt/work \
&& chown -R ${NB_UID}:${NB_GID} /opt/work
USER ${NB_UID}:${NB_GID}
WORKDIR /opt/work
EXPOSE 8888
CMD ["jupyter", "lab", \
"--ip=0.0.0.0", \
"--port=8888", \
"--no-browser", \
"--NotebookApp.token=", \
"--NotebookApp.password="]