Skip to content

Commit 988a648

Browse files
authored
Merge pull request #2707 from kaczmarj/enh/neurodocker
ENH: use neurodocker 0.4.1 + apt install afni
2 parents 50862c1 + 23e6357 commit 988a648

File tree

1 file changed

+55
-61
lines changed

1 file changed

+55
-61
lines changed

docker/generate_dockerfiles.sh

+55-61
Original file line numberDiff line numberDiff line change
@@ -52,77 +52,71 @@ do
5252
esac
5353
done
5454

55-
56-
# neurodocker version 0.3.1-22-gb0ee069
57-
NEURODOCKER_IMAGE="kaczmarj/neurodocker@sha256:f15ca90803f4b89acfca55cd1c7269bf2ec2dfd95b3de1118b08afa34b87d9d1"
58-
59-
# neurodebian:stretch-non-free pulled on November 3, 2017
60-
BASE_IMAGE="neurodebian@sha256:7590552afd0e7a481a33314724ae27f76ccedd05ffd7ac06ec38638872427b9b"
55+
# neurodocker version 0.4.1-22-g7c44e01
56+
NEURODOCKER_IMAGE="kaczmarj/neurodocker:master@sha256:858632a7533cac100f70932749b4cfc77fc40f667f41fca208f406215cff8a27"
57+
# neurodebian:stretch-non-free pulled on September 19, 2018
58+
BASE_IMAGE="neurodebian:stretch-non-free@sha256:7cd978427d7ad215834fee221d0536ed7825b3cddebc481eba2d792dfc2f7332"
6159

6260
NIPYPE_BASE_IMAGE="nipype/nipype:base"
6361
PKG_MANAGER="apt"
6462
DIR="$(dirname "$0")"
6563

6664
function generate_base_dockerfile() {
67-
docker run --rm "$NEURODOCKER_IMAGE" generate \
68-
--base "$BASE_IMAGE" --pkg-manager "$PKG_MANAGER" \
69-
--label maintainer="The nipype developers https://github.com/nipy/nipype" \
70-
--spm version=12 matlab_version=R2017a \
71-
--afni version=latest install_python2=true \
72-
--freesurfer version=6.0.0 min=true \
73-
--run 'echo "cHJpbnRmICJrcnp5c3p0b2YuZ29yZ29sZXdza2lAZ21haWwuY29tXG41MTcyXG4gKkN2dW12RVYzelRmZ1xuRlM1Si8yYzFhZ2c0RVxuIiA+IC9vcHQvZnJlZXN1cmZlci9saWNlbnNlLnR4dAo=" | base64 -d | sh' \
74-
--install ants apt-utils bzip2 convert3d file fsl-core fsl-mni152-templates \
75-
fusefat g++ git graphviz make ruby unzip xvfb \
76-
--add-to-entrypoint "source /etc/fsl/fsl.sh" \
77-
--env ANTSPATH='/usr/lib/ants' PATH='/usr/lib/ants:$PATH' \
78-
--run "gem install fakes3" \
79-
--no-check-urls > "$DIR/Dockerfile.base"
65+
docker run --rm "$NEURODOCKER_IMAGE" generate docker \
66+
--base "$BASE_IMAGE" --pkg-manager "$PKG_MANAGER" \
67+
--label maintainer="The nipype developers https://github.com/nipy/nipype" \
68+
--spm12 version=r7219 \
69+
--env 'LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH' \
70+
--freesurfer version=6.0.0-min \
71+
--run 'echo "cHJpbnRmICJrcnp5c3p0b2YuZ29yZ29sZXdza2lAZ21haWwuY29tCjUxNzIKICpDdnVtdkVWM3pUZmcKRlM1Si8yYzFhZ2c0RQoiID4gL29wdC9mcmVlc3VyZmVyLTYuMC4wLW1pbi9saWNlbnNlLnR4dA==" | base64 -d | sh' \
72+
--install afni ants apt-utils bzip2 convert3d file fsl-core \
73+
fsl-mni152-templates fusefat g++ git graphviz make python ruby \
74+
unzip xvfb \
75+
--add-to-entrypoint "source /etc/fsl/fsl.sh && source /etc/afni/afni.sh" \
76+
--env ANTSPATH='/usr/lib/ants' \
77+
PATH='/usr/lib/ants:$PATH' \
78+
--run "gem install fakes3" \
79+
> "$DIR/Dockerfile.base"
8080
}
8181

8282

8383
function generate_main_dockerfile() {
84-
docker run --rm "$NEURODOCKER_IMAGE" generate \
85-
--base "$NIPYPE_BASE_IMAGE" --pkg-manager "$PKG_MANAGER" \
86-
--label maintainer="The nipype developers https://github.com/nipy/nipype" \
87-
--env MKL_NUM_THREADS=1 OMP_NUM_THREADS=1 \
88-
--user neuro \
89-
--miniconda env_name=neuro \
90-
activate=true \
91-
--copy docker/files/run_builddocs.sh docker/files/run_examples.sh \
92-
docker/files/run_pytests.sh nipype/external/fsl_imglob.py /usr/bin/ \
93-
--copy . /src/nipype \
94-
--user root \
95-
--run 'chown -R neuro /src
96-
&& chmod +x /usr/bin/fsl_imglob.py /usr/bin/run_*.sh
97-
&& . /etc/fsl/fsl.sh
98-
&& ln -sf /usr/bin/fsl_imglob.py ${FSLDIR}/bin/imglob
99-
&& mkdir /work
100-
&& chown neuro /work' \
101-
--user neuro \
102-
--arg PYTHON_VERSION_MAJOR=3 PYTHON_VERSION_MINOR=6 BUILD_DATE VCS_REF VERSION \
103-
--miniconda env_name=neuro \
104-
conda_install='python=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}
105-
icu=58.1 libxml2 libxslt matplotlib mkl numpy paramiko
106-
pandas psutil scikit-learn scipy traits=4.6.0' \
107-
pip_opts="-e" \
108-
pip_install="/src/nipype[all]" \
109-
--miniconda env_name=neuro \
110-
pip_install="grabbit==0.1.2" \
111-
--run-bash "mkdir -p /src/pybids
112-
&& curl -sSL --retry 5 https://github.com/INCF/pybids/tarball/0.5.1
113-
| tar -xz -C /src/pybids --strip-components 1
114-
&& source activate neuro
115-
&& pip install --no-cache-dir -e /src/pybids" \
116-
--workdir /work \
117-
--label org.label-schema.build-date='$BUILD_DATE' \
118-
org.label-schema.name="NIPYPE" \
119-
org.label-schema.description="NIPYPE - Neuroimaging in Python: Pipelines and Interfaces" \
120-
org.label-schema.url="http://nipype.readthedocs.io" \
121-
org.label-schema.vcs-ref='$VCS_REF' \
122-
org.label-schema.vcs-url="https://github.com/nipy/nipype" \
123-
org.label-schema.version='$VERSION' \
124-
org.label-schema.schema-version="1.0" \
125-
--no-check-urls
84+
docker run --rm "$NEURODOCKER_IMAGE" generate docker \
85+
--base "$NIPYPE_BASE_IMAGE" --pkg-manager "$PKG_MANAGER" \
86+
--label maintainer="The nipype developers https://github.com/nipy/nipype" \
87+
--env MKL_NUM_THREADS=1 \
88+
OMP_NUM_THREADS=1 \
89+
--arg PYTHON_VERSION_MAJOR=3 PYTHON_VERSION_MINOR=6 BUILD_DATE VCS_REF VERSION \
90+
--user neuro \
91+
--miniconda create_env=neuro \
92+
conda_install='python=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}
93+
icu=58.1 libxml2 libxslt matplotlib mkl numpy paramiko
94+
pandas psutil scikit-learn scipy traits=4.6.0' \
95+
pip_install="grabbit==0.1.2 https://github.com/INCF/pybids/tarball/0.6.5" \
96+
activate=true \
97+
--copy docker/files/run_builddocs.sh docker/files/run_examples.sh \
98+
docker/files/run_pytests.sh nipype/external/fsl_imglob.py /usr/bin/ \
99+
--copy . /src/nipype \
100+
--user root \
101+
--run 'chown -R neuro /src
102+
&& chmod +x /usr/bin/fsl_imglob.py /usr/bin/run_*.sh
103+
&& . /etc/fsl/fsl.sh
104+
&& ln -sf /usr/bin/fsl_imglob.py ${FSLDIR}/bin/imglob
105+
&& mkdir /work
106+
&& chown neuro /work' \
107+
--user neuro \
108+
--miniconda use_env=neuro \
109+
pip_opts="-e" \
110+
pip_install="/src/nipype[all]" \
111+
--workdir /work \
112+
--label org.label-schema.build-date='$BUILD_DATE' \
113+
org.label-schema.name="NIPYPE" \
114+
org.label-schema.description="NIPYPE - Neuroimaging in Python: Pipelines and Interfaces" \
115+
org.label-schema.url="http://nipype.readthedocs.io" \
116+
org.label-schema.vcs-ref='$VCS_REF' \
117+
org.label-schema.vcs-url="https://github.com/nipy/nipype" \
118+
org.label-schema.version='$VERSION' \
119+
org.label-schema.schema-version="1.0"
126120
}
127121

128122

0 commit comments

Comments
 (0)