File size: 1,723 Bytes
10765c3 dcdc567 10765c3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# Use a base image with Python and JupyterLab already installed for convenience
# This saves some steps and reduces image size by leveraging existing layers
FROM jupyter/scipy-notebook:latest
LABEL maintainer="Your Name <your.email@example.com>"
# Install Hugging Face Transformers and other common NLP/ML libraries
# Use --no-cache-dir to prevent caching pip packages, reducing image size
# Use a specific version for reproducibility, e.g., transformers==4.41.2
# Add other libraries you commonly use (e.g., datasets, evaluate, accelerate, sentencepiece, bitsandbytes)
RUN pip install --no-cache-dir \
transformers \
datasets \
evaluate \
accelerate \
sentencepiece \
tokenizers \
diffusers \
scikit-learn \
pandas \
numpy \
matplotlib \
seaborn
# Set the working directory inside the container
WORKDIR /home/jovyan/work
# You can expose the Jupyter Lab port (default is 8888)
EXPOSE 8888
# Command to run Jupyter Lab
# --ip=0.0.0.0 makes it accessible from outside the container
# --no-browser prevents it from trying to open a browser inside the container
# --allow-root is often used in Docker environments, but it's better to run as a non-root user if possible.
# The `jupyter/scipy-notebook` image usually sets up a `jovyan` user, so `--allow-root` might not be necessary.
# If you want to set a password/token:
# --NotebookApp.token='your_secret_token'
# --NotebookApp.password='your_hashed_password' (generate with `jupyter lab password`)
CMD ["jupyter", "lab", "--ip=0.0.0.0", "--port=7860", "--no-browser"]
# Optional: Copy your notebooks or data into the container if needed
# COPY notebooks/ /home/jovyan/work/notebooks/
# COPY data/ /home/jovyan/work/data/ |