From 03e4b88ff26dc4714f6cc1f9248da1c43258c4a8 Mon Sep 17 00:00:00 2001 From: Ben Mares Date: Thu, 22 Feb 2024 14:09:35 +0100 Subject: [PATCH] Simplify Dockerfile --- scripts/docker/Dockerfile | 31 ++++--------------------------- scripts/docker/README.md | 4 +++- 2 files changed, 7 insertions(+), 28 deletions(-) diff --git a/scripts/docker/Dockerfile b/scripts/docker/Dockerfile index 4cb915a3..8576a68f 100644 --- a/scripts/docker/Dockerfile +++ b/scripts/docker/Dockerfile @@ -5,32 +5,9 @@ LABEL description="Environment for PyMC Marketing" ENV LANG=C.UTF-8 LC_ALL=C.UTF-8 -# Switch to jovyan to avoid container runs as root -USER $NB_UID - # Install conda environment -COPY /scripts/docker/environment-dev.yml . -RUN mamba env create -f environment-dev.yml && \ - /bin/bash -c ". activate pymc-marketing-dev" && \ - mamba clean --all -f -y - -# Create kernel -RUN $CONDA_DIR/envs/pymc-marketing-dev/bin/python -m ipykernel install --user --name=pymc-marketing-dev - -# Prepend conda environment to path -ENV PATH $CONDA_DIR/envs/pymc-marketing-dev/bin:$PATH - -# If you want this environment to be the default one, uncomment the following line: -ENV CONDA_DEFAULT_ENV pymc-marketing-dev - -# Setup working folder -WORKDIR /home/jovyan/work - -# For running from bash -SHELL ["/bin/bash","-c"] -RUN echo "mamba activate pymc-marketing-dev" >> ~/.bashrc && \ - source ~/.bashrc +COPY environment-dev.yml /tmp/ -# For running from jupyter notebook -EXPOSE 8888 -CMD ["mamba", "run", "--no-capture-output", "-n", "pymc-marketing-dev", "jupyter","notebook","--ip=0.0.0.0","--port=8888","--no-browser"] +RUN mamba env update -n base -f /tmp/environment-dev.yml && \ + conda clean --all -f -y && \ + fix-permissions $CONDA_DIR diff --git a/scripts/docker/README.md b/scripts/docker/README.md index 4a2955ce..a0d737e6 100644 --- a/scripts/docker/README.md +++ b/scripts/docker/README.md @@ -3,12 +3,14 @@ To build the docker image, run the following command: ```bash -docker build -f scripts/docker/Dockerfile -t docker-pymc-marketing . +cd scripts/docker/ +docker build -t docker-pymc-marketing . ``` To run the docker image, run the following command: ```bash +cd /path/to/your/project docker run -it -p 8888:8888 -v $(pwd):/home/jovyan/work docker-pymc-marketing ```