Dockerfile.combined 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. FROM node:16.15.1-bullseye-slim AS builder
  2. COPY docker_build/requirements.txt .
  3. RUN echo "deb http://mirror.nju.edu.cn/debian/ bullseye main contrib non-free" > /etc/apt/sources.list && \
  4. echo "deb http://mirror.nju.edu.cn/debian/ bullseye-updates main contrib non-free" >> /etc/apt/sources.list && \
  5. echo "deb http://mirror.nju.edu.cn/debian/ bullseye-backports main contrib non-free" >> /etc/apt/sources.list && \
  6. echo "deb http://mirror.nju.edu.cn/debian-security bullseye-security main contrib non-free" >> /etc/apt/sources.list && \
  7. apt update && apt install -y python3 python3-pip python-is-python3 make \
  8. && pip config set global.index-url https://mirror.nju.edu.cn/pypi/web/simple \
  9. && pip install -U pip setuptools && pip install -r requirements.txt \
  10. && yarn config set registry https://registry.npmmirror.com
  11. COPY . /src/
  12. ENV PYTHONPATH=/src
  13. RUN cd /src && ./bdist_wheel.sh && \
  14. cd ./sparkmagic && ./bdist_wheel.sh && \
  15. cd ../dag && make yarn-install build-ui build-server
  16. FROM jupyterhub/jupyterhub:2.3
  17. COPY docker_jupyterhub/requirements.txt .
  18. RUN echo "deb http://mirror.nju.edu.cn/ubuntu/ focal main restricted universe multiverse" > /etc/apt/sources.list && \
  19. echo "deb http://mirror.nju.edu.cn/ubuntu/ focal-updates main restricted universe multiverse" >> /etc/apt/sources.list && \
  20. echo "deb http://mirror.nju.edu.cn/ubuntu/ focal-backports main restricted universe multiverse" >> /etc/apt/sources.list && \
  21. echo "deb http://mirror.nju.edu.cn/ubuntu/ focal-security main restricted universe multiverse" >> /etc/apt/sources.list && \
  22. apt update && apt install -y libkrb5-dev krb5-user gcc python3-dev git openjdk-8-jre && \
  23. pip config set global.index-url https://mirror.nju.edu.cn/pypi/web/simple && \
  24. pip install -r requirements.txt && rm requirements.txt && \
  25. curl -fL http://mirror.nju.edu.cn/apache/hadoop/common/hadoop-3.2.3/hadoop-3.2.3.tar.gz -o hadoop-3.2.3.tar.gz && \
  26. mkdir -p /opt/cluster/conf && tar -xf hadoop-3.2.3.tar.gz -C /opt/cluster/ && rm hadoop-3.2.3.tar.gz
  27. COPY --from=builder /src/dist/*.whl /src/sparkmagic/dist/*.whl /src/dag/dist/*.whl /dist/
  28. RUN pip install /dist/*.whl && rm -rf /dist && \
  29. jupyter kernelspec install /usr/local/lib/python3.8/dist-packages/sparkmagic/kernels/pysparkkernel && \
  30. useradd -m -p "VawT4F4qizTuw" test1 && \
  31. useradd -m -p "vt8SVDBWk0fHI" test2 && \
  32. useradd -m -p "c8dthZ3HAoxYY" test3
  33. COPY docker_jupyterhub/config.json /etc/sparkmagic/
  34. COPY docker_jupyterhub/config.py /etc/jupyterhub/
  35. COPY docker_jupyterhub/jupyter_lab_config.py /etc/jupyter/
  36. ENV JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
  37. ENV HADOOP_HOME=/opt/cluster/hadoop-3.2.3
  38. ENV HADOOP_CONF_DIR=/opt/cluster/conf
  39. ENV LD_LIBRARY_PATH=/opt/cluster/hadoop/lib/native
  40. COPY docker_jupyterhub/run.py .
  41. CMD ["python3", "run.py"]