FROM ubuntu:jammy-20260210.1
# Non-interactive apt installs
ENV DEBIAN_FRONTEND=noninteractive
# System dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential wget ca-certificates curl git bzip2 \
&& rm -rf /var/lib/apt/lists/*
# Install Miniconda
ENV CONDA_DIR=/opt/conda
RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /tmp/miniconda.sh \
&& bash /tmp/miniconda.sh -b -p ${CONDA_DIR} \
&& rm /tmp/miniconda.sh \
&& ${CONDA_DIR}/bin/conda clean -tipsy -y
ENV PATH="${CONDA_DIR}/bin:${PATH}"
# Initialize conda for bash (non-interactive shells may not rely on this, but it's harmless)
RUN ${CONDA_DIR}/bin/conda init -bash
# Copy environment and create the conda environment
COPY environment.yml /tmp/environment.yml
RUN /bin/bash -lc "conda env create -f /tmp/environment.yml"
# Copy the project into the container
WORKDIR /workspace
COPY . /workspace
# Expose Jupyter port
EXPOSE 8888
# Default token for Jupyter; override at run time if needed
ENV JUPYTER_TOKEN=secret
# Start Jupyter Notebook in the data-science-handbook conda environment
CMD ["/bin/bash","-lc","conda run -n data-science-handbook jupyter notebook --no-browser --ip=0.0.0.0 --port=8888 --NotebookApp.token='${JUPYTER_TOKEN}'"]
# Ignore VCS .git .gitignore # Python caches __pycache__/ **/__pycache__/ *.pyc # Jupyter checkpoints **/.ipynb_checkpoints/ # Large directories we may not want to ship website/output/ notebooks/data/ notebooks/figures/ notebooks_v1/data/ notebooks_v1/figures/ notebooks_v2/data/ notebooks_v2/figures/ # Misc .env venv/ ENV/ env/ dist/ build/ *.egg-info/ *.egg # Docker related (if any) .dockerignore Dockerfile
ERROR: permission denied while trying to connect to the docker API at unix:///var/run/docker.sock
# Ignore VCS .git .gitignore # Python caches __pycache__/ **/__pycache__/ *.pyc # Jupyter checkpoints **/.ipynb_checkpoints/ # Large directories we may not want to ship website/output/ notebooks/data/ notebooks/figures/ notebooks_v1/data/ notebooks_v1/figures/ notebooks_v2/data/ notebooks_v2/figures/ # Misc .env venv/ ENV/ env/ dist/ build/ *.egg-info/ *.egg # Docker related (if any) .dockerignore Dockerfile
# Ignore VCS .git .gitignore # Python caches __pycache__/ **/__pycache__/ *.pyc # Jupyter checkpoints **/.ipynb_checkpoints/ # Large directories we may not want to ship website/output/ notebooks/data/ notebooks/figures/ notebooks_v1/data/ notebooks_v1/figures/ notebooks_v2/data/ notebooks_v2/figures/ # Misc .env venv/ ENV/ env/ dist/ build/ *.egg-info/ *.egg # Do not ignore Dockerfile (needed for build context)
Concerns: The CMD uses token='${JUPYTER_TOKEN}'; the single quotes prevent environment variable expansion, so the Jupyter token will not be set correctly. This will likely cause Jupyter to fail to start or require a literal token instead of the intended value., The build assumes environment.yml exists at the repository root; if it's missing, the conda env creation will fail during docker build.FROM ubuntu:jammy-20260210.1
# Non-interactive apt installs
ENV DEBIAN_FRONTEND=noninteractive
# System dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential wget ca-certificates curl git bzip2 \
&& rm -rf /var/lib/apt/lists/*
# Install Miniconda
ENV CONDA_DIR=/opt/conda
RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /tmp/miniconda.sh \
&& bash /tmp/miniconda.sh -b -p ${CONDA_DIR} \
&& rm /tmp/miniconda.sh \
&& ${CONDA_DIR}/bin/conda clean -tipsy -y
ENV PATH="${CONDA_DIR}/bin:${PATH}"
# Initialize conda for bash (non-interactive shells may not rely on this, but it's harmless)
RUN ${CONDA_DIR}/bin/conda init -bash
# Copy environment and create the conda environment
COPY environment.yml /tmp/environment.yml
RUN /bin/bash -lc "conda env create -f /tmp/environment.yml"
# Copy the project into the container
WORKDIR /workspace
COPY . /workspace
# Expose Jupyter port
EXPOSE 8888
# Default token for Jupyter; override at run time if needed
ENV JUPYTER_TOKEN=secret
# Start Jupyter Notebook in the data-science-handbook conda environment
CMD ["/bin/bash","-lc","conda run -n data-science-handbook jupyter notebook --no-browser --ip=0.0.0.0 --port=8888 --NotebookApp.token=${JUPYTER_TOKEN}"]
ERROR: permission denied while trying to connect to the docker API at unix:///var/run/docker.sock
FROM ubuntu:jammy-20260210.1
ENV DEBIAN_FRONTEND=noninteractive
# Install system utilities
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
wget \
ca-certificates \
curl \
git \
build-essential \
bzip2 \
&& rm -rf /var/lib/apt/lists/*
# Install Miniconda
ENV CONDA_DIR=/opt/conda
RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /tmp/miniconda.sh \
&& bash /tmp/miniconda.sh -b -p ${CONDA_DIR} \
&& rm /tmp/miniconda.sh
ENV PATH=${CONDA_DIR}/bin:${PATH}
# Configure conda
RUN conda config --set always_yes yes \
&& conda config --add channels conda-forge
WORKDIR /workspace
# Copy environment.yml and create the conda environment
COPY environment.yml ./environment.yml
RUN conda env create -f environment.yml
# Copy the rest of the repository
COPY . .
# Clean up conda caches to reduce image size
RUN conda clean -a -y
# Expose Jupyter port
EXPOSE 8888
# Run Jupyter Notebook server using the conda environment
CMD ["bash","-lc","conda run -n data-science-handbook jupyter notebook --NotebookApp.token='' --ip=0.0.0.0 --no-browser --allow-root"]
ERROR: permission denied while trying to connect to the docker API at unix:///var/run/docker.sock
# Ignore VCS and Python caches .git __pycache__/ *.pyc *.pyo *.pyd .ipynb_checkpoints/ # Large notebooks and data directories notebooks/ notebooks_v1/ notebooks_v2/ notebooks/data/ notebooks/figures/ # Website artifacts (optional to avoid rebuild churn) website/ # Build artifacts build/ dist/ *.egg-info/ # Conda caches conda-env/ conda-packages/ # Environment files .env .env.*
ERROR: permission denied while trying to connect to the docker API at unix:///var/run/docker.sock
FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
# Install system utilities
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
wget \
ca-certificates \
curl \
git \
build-essential \
bzip2 \
&& rm -rf /var/lib/apt/lists/*
# Install Miniconda
ENV CONDA_DIR=/opt/conda
RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /tmp/miniconda.sh \
&& bash /tmp/miniconda.sh -b -p ${CONDA_DIR} \
&& rm /tmp/miniconda.sh
ENV PATH=${CONDA_DIR}/bin:${PATH}
# Configure conda
RUN conda config --set always_yes yes \
&& conda config --add channels conda-forge
WORKDIR /workspace
# Copy environment.yml and create the conda environment
COPY environment.yml ./environment.yml
RUN conda env create -f environment.yml
# Copy the rest of the repository
COPY . .
# Clean up conda caches to reduce image size
RUN conda clean -a -y
# Expose Jupyter port
EXPOSE 8888
# Run Jupyter Notebook server using the conda environment
CMD ["bash","-lc","conda run -n data-science-handbook jupyter notebook --ip=0.0.0.0 --no-browser --allow-root"]
ERROR: permission denied while trying to connect to the docker API at unix:///var/run/docker.sock
FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
# Install system utilities
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
wget \
ca-certificates \
curl \
git \
build-essential \
bzip2 \
&& rm -rf /var/lib/apt/lists/*
# Install Miniconda
ENV CONDA_DIR=/opt/conda
RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /tmp/miniconda.sh \
&& bash /tmp/miniconda.sh -b -p ${CONDA_DIR} \
&& rm /tmp/miniconda.sh
ENV PATH=${CONDA_DIR}/bin:${PATH}
# Configure conda
RUN conda config --set always_yes yes \
&& conda config --add channels conda-forge
WORKDIR /workspace
# Copy environment.yml and create the conda environment
COPY environment.yml ./environment.yml
RUN conda env create -f environment.yml
# Copy the rest of the repository
COPY . .
# Clean up conda caches to reduce image size
RUN conda clean -a -y
# Expose Jupyter port
EXPOSE 8888
# Run Jupyter Notebook server using the conda environment
CMD ["bash","-lc","conda run -n data-science-handbook jupyter notebook --ip=0.0.0.0 --no-browser --allow-root"]
ERROR: permission denied while trying to connect to the docker API at unix:///var/run/docker.sock
FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
# Install system utilities
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
wget \
ca-certificates \
curl \
git \
build-essential \
bzip2 \
&& rm -rf /var/lib/apt/lists/*
# Install Miniconda
ENV CONDA_DIR=/opt/conda
RUN wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /tmp/miniconda.sh \
&& bash /tmp/miniconda.sh -b -p ${CONDA_DIR} \
&& rm /tmp/miniconda.sh
ENV PATH=${CONDA_DIR}/bin:${PATH}
# Configure conda
RUN conda config --set always_yes yes \
&& conda config --add channels conda-forge
WORKDIR /workspace
# Copy environment.yml and create the conda environment
COPY environment.yml ./environment.yml
RUN conda env create -f environment.yml
# Copy the rest of the repository
COPY . .
# Clean up conda caches to reduce image size
RUN conda clean -a -y
# Expose Jupyter port
EXPOSE 8888
# Run Jupyter Notebook server using the conda environment
CMD ["bash","-lc","if [ -n \"$JUPYTER_TOKEN\" ]; then TOKEN_OPT=\"--NotebookApp.token=$JUPYTER_TOKEN\"; else TOKEN_OPT=\"--NotebookApp.token=''\"; fi; conda run -n data-science-handbook jupyter notebook $TOKEN_OPT --ip=0.0.0.0 --no-browser --allow-root"]
ERROR: permission denied while trying to connect to the docker API at unix:///var/run/docker.sock
# Use stable base image
FROM ubuntu:jammy-20260210.1
# Avoid interactive prompts
ENV DEBIAN_FRONTEND=noninteractive
# Install system dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential wget ca-certificates curl git bzip2 \
&& rm -rf /var/lib/apt/lists/*
# Install Miniconda
ENV PATH=/opt/conda/bin:$PATH
RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /tmp/miniconda.sh && \
/bin/bash /tmp/miniconda.sh -b -p /opt/conda && \
rm /tmp/miniconda.sh && \
/opt/conda/bin/conda init -bash && \
/opt/conda/bin/conda config --set always_yes yes && \
/opt/conda/bin/conda config --add channels conda-forge
# Set working directory
WORKDIR /workspace
# Copy environment specification and create conda env
COPY environment.yml .
RUN /opt/conda/bin/conda env create -f environment.yml
# Copy remaining repository files
COPY . .
# Environment variables
ENV ENV_NAME=data-science-handbook
ENV JUPYTER_TOKEN=secret
# Expose Jupyter port
EXPOSE 8888
# Start Jupyter Notebook by default
CMD ["bash","-lc","conda run -n ${ENV_NAME} jupyter notebook --ip=0.0.0.0 --no-browser --NotebookApp.token=${JUPYTER_TOKEN}"]
# Ignore version control and large data/notebooks .git notebooks/data/ notebooks/figures/ notebooks/*.ipynb notebooks_v1/ notebooks_v2/ notebooks_v1/** notebooks_v2/** notebooks/**/.ipynb_checkpoints Dockerfile .dockerignore website/output website/content/*.ipynb __pycache__ *.pyc *.pyo *.pyd
ERROR: permission denied while trying to connect to the docker API at unix:///var/run/docker.sock
# Use stable base image
FROM ubuntu:jammy-20260210.1
# Avoid interactive prompts
ENV DEBIAN_FRONTEND=noninteractive
# Install system dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential wget ca-certificates curl git bzip2 \
&& rm -rf /var/lib/apt/lists/*
# Install Miniconda
ENV PATH=/opt/conda/bin:$PATH
RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /tmp/miniconda.sh && \
/bin/bash /tmp/miniconda.sh -b -p /opt/conda && \
rm /tmp/miniconda.sh && \
/opt/conda/bin/conda init -bash && \
/opt/conda/bin/conda config --set always_yes yes && \
/opt/conda/bin/conda config --add channels conda-forge
# Set working directory
WORKDIR /workspace
# Copy environment specification and create conda env
COPY environment.yml .
RUN /opt/conda/bin/conda env create -f environment.yml && \
/opt/conda/bin/conda clean -a -y
# Copy remaining repository files
COPY . .
# Environment variables
ARG ENV_NAME=data-science-handbook
ENV ENV_NAME=${ENV_NAME}
# Expose Jupyter port
EXPOSE 8888
# Token for Jupyter
ENV JUPYTER_TOKEN=secret
# Start Jupyter Notebook by default
CMD ["bash","-lc","conda run -n ${ENV_NAME} jupyter notebook --ip=0.0.0.0 --no-browser --NotebookApp.token=${JUPYTER_TOKEN}"]
ERROR: permission denied while trying to connect to the docker API at unix:///var/run/docker.sock
# Use stable base image
FROM ubuntu:jammy-20260210.1
# Avoid interactive prompts
ENV DEBIAN_FRONTEND=noninteractive
# Install system dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential wget ca-certificates curl git bzip2 \
&& rm -rf /var/lib/apt/lists/*
# Install Miniconda
ENV PATH=/opt/conda/bin:$PATH
RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /tmp/miniconda.sh && \
/bin/bash /tmp/miniconda.sh -b -p /opt/conda && \
rm /tmp/miniconda.sh && \
/opt/conda/bin/conda init -bash && \
/opt/conda/bin/conda config --set always_yes yes && \
/opt/conda/bin/conda config --add channels conda-forge
# Set working directory
WORKDIR /workspace
# Copy environment specification and create conda env
COPY environment.yml .
RUN /opt/conda/bin/conda env create -f environment.yml && \
/opt/conda/bin/conda clean -a -y
# Copy remaining repository files
COPY . .
# Environment variables
ENV ENV_NAME=data-science-handbook
# Expose Jupyter port
EXPOSE 8888
# Token for Jupyter
ENV JUPYTER_TOKEN=secret
# Start Jupyter Notebook by default
CMD ["bash","-lc","conda run -n ${ENV_NAME} jupyter notebook --ip=0.0.0.0 --no-browser --NotebookApp.token=${JUPYTER_TOKEN}"]
ERROR: permission denied while trying to connect to the docker API at unix:///var/run/docker.sock
# Use stable base image
FROM ubuntu:jammy-20260210.1
# Avoid interactive prompts
ENV DEBIAN_FRONTEND=noninteractive
# Install system dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential wget ca-certificates curl git bzip2 \
&& rm -rf /var/lib/apt/lists/*
# Install Miniconda
ENV PATH=/opt/conda/bin:$PATH
RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /tmp/miniconda.sh && \
/bin/bash /tmp/miniconda.sh -b -p /opt/conda && \
rm /tmp/miniconda.sh && \
/opt/conda/bin/conda config --set always_yes yes && \
/opt/conda/bin/conda config --add channels conda-forge
# Set working directory
WORKDIR /workspace
# Copy environment specification and create conda env
COPY environment.yml .
RUN /opt/conda/bin/conda env create -f environment.yml && \
/opt/conda/bin/conda clean -a -y
# Copy remaining repository files
COPY . .
# Environment variables
ENV ENV_NAME=data-science-handbook
# Expose Jupyter port
EXPOSE 8888
# Token for Jupyter
ENV JUPYTER_TOKEN=secret
# Start Jupyter Notebook by default
CMD ["bash","-lc","conda run -n ${ENV_NAME} jupyter notebook --ip=0.0.0.0 --no-browser --NotebookApp.token=${JUPYTER_TOKEN}"]
ERROR: permission denied while trying to connect to the docker API at unix:///var/run/docker.sock
# Use stable base image
FROM ubuntu:jammy-20260210.1
# Avoid interactive prompts
ENV DEBIAN_FRONTEND=noninteractive
# Install system dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential wget ca-certificates curl git bzip2 \
&& rm -rf /var/lib/apt/lists/*
# Install Miniconda
ENV PATH=/opt/conda/bin:$PATH
RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /tmp/miniconda.sh && \
/bin/bash /tmp/miniconda.sh -b -p /opt/conda && \
rm /tmp/miniconda.sh && \
/opt/conda/bin/conda config --set always_yes yes && \
/opt/conda/bin/conda config --add channels conda-forge
# Set working directory
WORKDIR /workspace
# Copy environment specification and create conda env
COPY environment.yml .
RUN /opt/conda/bin/conda env create -f environment.yml && \
/opt/conda/bin/conda clean -a -y
# Copy remaining repository files
COPY . .
# Environment variables
ENV ENV_NAME=data-science-handbook
# Expose Jupyter port
EXPOSE 8888
# Token for Jupyter
ENV JUPYTER_TOKEN=secret
# Start Jupyter Notebook by default
CMD ["bash","-lc","conda run -n ${ENV_NAME} jupyter notebook --ip=0.0.0.0 --no-browser --NotebookApp.token=${JUPYTER_TOKEN}"]
ERROR: permission denied while trying to connect to the docker API at unix:///var/run/docker.sock
# Ignore version control and large data/notebooks .git notebooks/data/ notebooks/figures/ notebooks/*.ipynb notebooks_v1/ notebooks_v2/ notebooks_v1/** notebooks_v2/** notebooks/**/.ipynb_checkpoints notebooks/**/*.ipynb Dockerfile .dockerignore website/output website/content/*.ipynb __pycache__ *.pyc *.pyo *.pyd
ERROR: permission denied while trying to connect to the docker API at unix:///var/run/docker.sock
# Use stable base image
FROM ubuntu:jammy-20260210.1
# Avoid interactive prompts
ENV DEBIAN_FRONTEND=noninteractive
# Install system dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential wget ca-certificates curl git bzip2 \
&& rm -rf /var/lib/apt/lists/*
# Install Miniconda
ENV PATH=/opt/conda/bin:$PATH
RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /tmp/miniconda.sh && \
/bin/bash /tmp/miniconda.sh -b -p /opt/conda && \
rm /tmp/miniconda.sh && \
/opt/conda/bin/conda config --set always_yes yes && \
/opt/conda/bin/conda config --add channels conda-forge
# Set working directory
WORKDIR /workspace
# Create environment name (expected to match environment.yml)
ARG ENV_NAME=data-science-handbook
ENV ENV_NAME=${ENV_NAME}
# Copy environment specification and create conda env
COPY environment.yml .
RUN /opt/conda/bin/conda env create -f environment.yml && \
/opt/conda/bin/conda clean -a -y
# Copy remaining repository files
COPY . .
# Expose Jupyter port
EXPOSE 8888
# Token for Jupyter (can be overridden at runtime via JUPYTER_TOKEN)
ENV JUPYTER_TOKEN=secret
# Start Jupyter Notebook by default
CMD ["bash","-lc","export JUPYTER_TOKEN=${JUPYTER_TOKEN}; conda run -n ${ENV_NAME} jupyter notebook --ip=0.0.0.0 --no-browser --NotebookApp.token=${JUPYTER_TOKEN}"]
ERROR: permission denied while trying to connect to the docker API at unix:///var/run/docker.sock
# Use stable base image
FROM ubuntu:jammy-20260210.1
# Avoid interactive prompts
ENV DEBIAN_FRONTEND=noninteractive
# Install system dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential wget ca-certificates curl git bzip2 \
&& rm -rf /var/lib/apt/lists/*
# Install Miniconda
ENV PATH=/opt/conda/bin:$PATH
RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O /tmp/miniconda.sh && \
/bin/bash /tmp/miniconda.sh -b -p /opt/conda && \
rm /tmp/miniconda.sh && \
/opt/conda/bin/conda config --set always_yes yes && \
/opt/conda/bin/conda config --add channels conda-forge
# Set working directory for builds
WORKDIR /workspace
# Create a non-root user for runtime
RUN useradd -m -s /bin/bash dsb
# Copy environment specification and create conda env (build as root)
COPY environment.yml .
RUN /opt/conda/bin/conda env create -f environment.yml && \
/opt/conda/bin/conda clean -a -y
# Copy repository files and adjust ownership for non-root user
COPY . .
RUN chown -R dsb:dsb /workspace || true
# Environment variables
ENV ENV_NAME=data-science-handbook
# Expose Jupyter port
EXPOSE 8888
# Token for Jupyter (can be overridden at runtime via JUPYTER_TOKEN)
ENV JUPYTER_TOKEN=secret
# Use non-root user for runtime
USER dsb
ENV HOME=/home/dsb
# Start Jupyter Notebook by default
CMD ["bash","-lc","export JUPYTER_TOKEN=${JUPYTER_TOKEN}; conda run -n ${ENV_NAME} jupyter notebook --ip=0.0.0.0 --no-browser --NotebookApp.token=${JUPYTER_TOKEN}"]
No matches found.
ERROR: permission denied while trying to connect to the docker API at unix:///var/run/docker.sock