From 58c8c660ba13a6117f914fd4cbfbbefb1a47624b Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Sat, 16 Sep 2023 15:39:25 -0400 Subject: [PATCH] use mamba --- Dockerfile | 4 +++- makefile | 15 +++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 0a715ca2..ecb64729 100644 --- a/Dockerfile +++ b/Dockerfile @@ -102,6 +102,8 @@ RUN yum install -y -q \ && bash "$conda_installer" -b -p /opt/miniconda-latest \ && rm -f "$conda_installer" \ && conda update -yq -nbase conda \ + && conda install -yq -nbase conda-libmamba-solver \ + && conda config --set solver libmamba \ # Prefer packages in conda-forge && conda config --system --prepend channels conda-forge \ # Packages in lower-priority channels not considered if a package with the same @@ -218,7 +220,7 @@ RUN printf '{ \ { \ "name": "run", \ "kwds": { \ - "command": "yum install -y -q \\\\\\n bzip2 \\\\\\n curl\\nyum clean all\\nrm -rf /var/cache/yum/*\\n# Install dependencies.\\nexport PATH=\\"/opt/miniconda-latest/bin:$PATH\\"\\necho \\"Downloading Miniconda installer ...\\"\\nconda_installer=\\"/tmp/miniconda.sh\\"\\ncurl -fsSL -o \\"$conda_installer\\" https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh\\nbash \\"$conda_installer\\" -b -p /opt/miniconda-latest\\nrm -f \\"$conda_installer\\"\\nconda update -yq -nbase conda\\n# Prefer packages in conda-forge\\nconda config --system --prepend channels conda-forge\\n# Packages in lower-priority channels not considered if a package with the same\\n# name exists in a higher priority channel. Can dramatically speed up installations.\\n# Conda recommends this as a default\\n# https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-channels.html\\nconda config --set channel_priority strict\\nconda config --system --set auto_update_conda false\\nconda config --system --set show_channel_urls true\\n# Enable `conda activate`\\nconda init bash\\nconda install -y --name base \\\\\\n \\"python=3.10\\" \\\\\\n \\"pip=23.2.1\\"\\nbash -c \\"source activate base\\n python -m pip install --no-cache-dir \\\\\\n \\"traits==6.3.0\\" \\\\\\n \\"jupyterlab-4.0.6\\" \\\\\\n \\"graphviz-0.20.1\\" \\\\\\n \\"nipype==1.8.6\\" \\\\\\n \\"scikit-image==0.21.0\\" \\\\\\n \\"matplotlib==3.8.0\\" \\\\\\n \\"nilearn==0.10.1\\"\\"\\n# Clean up\\nsync && conda clean --all --yes && sync\\nrm -rf ~/.cache/pip/*" \ + "command": "yum install -y -q \\\\\\n bzip2 \\\\\\n curl\\nyum clean all\\nrm -rf /var/cache/yum/*\\n# Install dependencies.\\nexport PATH=\\"/opt/miniconda-latest/bin:$PATH\\"\\necho \\"Downloading Miniconda installer ...\\"\\nconda_installer=\\"/tmp/miniconda.sh\\"\\ncurl -fsSL -o \\"$conda_installer\\" https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh\\nbash \\"$conda_installer\\" -b -p /opt/miniconda-latest\\nrm -f \\"$conda_installer\\"\\nconda update -yq -nbase conda\\nconda install -yq -nbase conda-libmamba-solver\\nconda config --set solver libmamba\\n# Prefer packages in conda-forge\\nconda config --system --prepend channels conda-forge\\n# Packages in lower-priority channels not considered if a package with the same\\n# name exists in a higher priority channel. Can dramatically speed up installations.\\n# Conda recommends this as a default\\n# https://docs.conda.io/projects/conda/en/latest/user-guide/tasks/manage-channels.html\\nconda config --set channel_priority strict\\nconda config --system --set auto_update_conda false\\nconda config --system --set show_channel_urls true\\n# Enable `conda activate`\\nconda init bash\\nconda install -y --name base \\\\\\n \\"python=3.10\\" \\\\\\n \\"pip=23.2.1\\"\\nbash -c \\"source activate base\\n python -m pip install --no-cache-dir \\\\\\n \\"traits==6.3.0\\" \\\\\\n \\"jupyterlab-4.0.6\\" \\\\\\n \\"graphviz-0.20.1\\" \\\\\\n \\"nipype==1.8.6\\" \\\\\\n \\"scikit-image==0.21.0\\" \\\\\\n \\"matplotlib==3.8.0\\" \\\\\\n \\"nilearn==0.10.1\\"\\"\\n# Clean up\\nsync && conda clean --all --yes && sync\\nrm -rf ~/.cache/pip/*" \ } \ }, \ { \ diff --git a/makefile b/makefile index 81e2c1cb..9750b4d7 100644 --- a/makefile +++ b/makefile @@ -2,6 +2,20 @@ Dockerfile: docker run --rm repronim/neurodocker:0.9.5 generate docker \ + --base-image centos:7 --pkg-manager yum \ + --yes \ + --install git \ + --ants method=binaries version=2.4.3 \ + --fsl version=6.0.6.4 \ + --spm12 version=r7771 method=binaries \ + --miniconda method=binaries \ + version=latest + conda_install="python=3.10 pip=23.2.1" \ + pip_install="traits==6.3.0 jupyterlab-4.0.6 graphviz-0.20.1 nipype==1.8.6 scikit-image==0.21.0 matplotlib==3.8.0 nilearn==0.10.1" \ + --run 'mkdir -p ~/.jupyter && echo c.NotebookApp.ip = \"0.0.0.0\" > ~/.jupyter/jupyter_notebook_config.py' > Dockerfile + +Dockerfile_mamba: + neurodocker generate docker \ --base-image centos:7 --pkg-manager yum \ --yes \ --install git \ @@ -10,6 +24,7 @@ Dockerfile: --spm12 version=r7771 method=binaries \ --miniconda method=binaries \ version=latest \ + mamba=true \ conda_install="python=3.10 pip=23.2.1" \ pip_install="traits==6.3.0 jupyterlab-4.0.6 graphviz-0.20.1 nipype==1.8.6 scikit-image==0.21.0 matplotlib==3.8.0 nilearn==0.10.1" \ --run 'mkdir -p ~/.jupyter && echo c.NotebookApp.ip = \"0.0.0.0\" > ~/.jupyter/jupyter_notebook_config.py' > Dockerfile \ No newline at end of file