Skip to content

Commit 6da82b2

Browse files
committed
add SPM, add test image
1 parent 68faba4 commit 6da82b2

File tree

3 files changed

+79
-34
lines changed

3 files changed

+79
-34
lines changed

docker/test-image-base/Dockerfile

+20
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ RUN apt-get update && \
4141
bzip2 \
4242
apt-utils \
4343
gfortran \
44+
fusefat \
4445
liblapack-dev \
4546
libblas-dev \
4647
libatlas-dev \
@@ -85,5 +86,24 @@ RUN echo '#!/bin/bash' > /etc/profile.d/crn_neuro.sh && \
8586
# Clear apt cache to reduce image size
8687
RUN rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
8788

89+
# Install Matlab: from the good old install_spm_mcr.sh of @chrisfilo
90+
WORKDIR /root
91+
RUN echo "destinationFolder=/root/mcr" > mcr_options.txt && \
92+
echo "agreeToLicense=yes" >> mcr_options.txt && \
93+
echo "outputFile=/tmp/matlabinstall_log" >> mcr_options.txt && \
94+
echo "mode=silent" >> mcr_options.txt && \
95+
mkdir -p matlab_installer && \
96+
curl -sSL http://www.mathworks.com/supportfiles/downloads/R2015a/deployment_files/R2015a/installers/glnxa64/MCR_R2015a_glnxa64_installer.zip \
97+
-o matlab_installer/installer.zip && \
98+
unzip matlab_installer/installer.zip -d matlab_installer/ && \
99+
matlab_installer/install -inputFile mcr_options.txt && \
100+
rm -rf matlab_installer mcr_options.txt
101+
102+
# Install SPM
103+
RUN curl -sSL http://www.fil.ion.ucl.ac.uk/spm/download/restricted/utopia/dev/spm12_r6472_Linux_R2015a.zip -o spm12.zip && \
104+
unzip spm12.zip && \
105+
rm -rf spm12.zip
106+
107+
88108
CMD ["/bin/bash"]
89109

docker/test-image-conda/Dockerfile renamed to docker/test-image-nipype/Dockerfile

+8-34
Original file line numberDiff line numberDiff line change
@@ -46,51 +46,25 @@ ENV PATH /usr/local/miniconda/bin:$PATH
4646
# > At the moment, setting "LANG=C" on a Linux system *fundamentally breaks Python 3*, and that's not OK.
4747
ENV LANG C.UTF-8
4848

49+
# Add conda-forge channel in conda
50+
RUN conda config --add channels conda-forge
51+
4952
# Create conda environment
50-
RUN conda create -y -n nipypetests-2.7 lockfile && \
53+
RUN conda create -y -n nipypetests-2.7 lockfile nipype && \
5154
echo '#!/bin/bash' >> /etc/profile.d/nipype.sh && \
5255
echo '#!/bin/bash' >> /etc/bashrc && \
5356
echo 'source activate nipypetests-2.7' >> /etc/profile.d/nipype.sh && \
5457
echo 'source activate nipypetests-2.7' >> /etc/bashrc
5558

56-
# Install pip
57-
RUN source activate nipypetests-2.7 && \
58-
pip install --upgrade pip && \
59-
pip install nose && \
60-
pip install numpy && \
61-
pip install scipy && \
62-
pip install pandas && \
63-
pip install matplotlib && \
64-
pip install xvfbwrapper && \
65-
python -c "from matplotlib import font_manager"
66-
6759
# Create conda environment
68-
RUN conda create -y -n nipypetests-3.4 lockfile python=3.4
69-
70-
# Install pip
71-
RUN source activate nipypetests-3.4 && \
72-
pip install --upgrade pip && \
73-
pip install nose && \
74-
pip install numpy && \
75-
pip install scipy && \
76-
pip install pandas && \
77-
pip install matplotlib && \
78-
pip install xvfbwrapper && \
79-
python -c "from matplotlib import font_manager"
60+
RUN conda create -y -n nipypetests-3.4 lockfile nipype python=3.4
8061

8162
# Create conda environment
82-
RUN conda create -y -n nipypetests-3.5 lockfile python=3.5
63+
RUN conda create -y -n nipypetests-3.5 lockfile nipype python=3.5
8364

8465
# Install pip
85-
RUN source activate nipypetests-3.5 && \
86-
pip install --upgrade pip && \
87-
pip install nose && \
88-
pip install numpy && \
89-
pip install scipy && \
90-
pip install pandas && \
91-
pip install matplotlib && \
92-
pip install xvfbwrapper && \
93-
python -c "from matplotlib import font_manager"
66+
# RUN source activate nipypetests-2.7 && \
67+
# pip install --upgrade pip && \
9468

9569

9670

docker/test-image/Dockerfile

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Copyright (c) 2016, The developers of the Stanford CRN
2+
# All rights reserved.
3+
#
4+
# Redistribution and use in source and binary forms, with or without
5+
# modification, are permitted provided that the following conditions are met:
6+
#
7+
# * Redistributions of source code must retain the above copyright notice, this
8+
# list of conditions and the following disclaimer.
9+
#
10+
# * Redistributions in binary form must reproduce the above copyright notice,
11+
# this list of conditions and the following disclaimer in the documentation
12+
# and/or other materials provided with the distribution.
13+
#
14+
# * Neither the name of crn_base nor the names of its
15+
# contributors may be used to endorse or promote products derived from
16+
# this software without specific prior written permission.
17+
#
18+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19+
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20+
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21+
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
22+
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23+
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24+
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
25+
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26+
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27+
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28+
29+
FROM nipype/testnipype
30+
MAINTAINER Stanford Center for Reproducible Neuroscience <[email protected]>
31+
32+
# Preparations
33+
RUN ln -snf /bin/bash /bin/sh
34+
WORKDIR /root
35+
36+
RUN mkdir -p ~/examples/ && ln -sf /usr/share/fsl-feeds/ ~/examples/feeds
37+
RUN curl -sSL "https://dl.dropbox.com/s/jzgq2nupxyz36bp/nipype-tutorial.tar.bz2" && \
38+
tar jxvf nipype-tutorial.tar.bz2 && \
39+
mv nipype-tutorial/* ~/examples/ && \
40+
curl -sSL "http://fsl.fmrib.ox.ac.uk/fslcourse/fdt1.tar.gz" && \
41+
curl -sSL "http://fsl.fmrib.ox.ac.uk/fslcourse/fdt2.tar.gz" && \
42+
curl -sSL "http://fsl.fmrib.ox.ac.uk/fslcourse/tbss.tar.gz" && \
43+
mkdir ~/examples/fsl_course_data && \
44+
tar zxvf fdt1.tar.gz -C ~/examples/fsl_course_data && \
45+
tar zxvf fdt2.tar.gz -C ~/examples/fsl_course_data && \
46+
tar zxvf tbss.tar.gz -C ~/examples/fsl_course_data && \
47+
echo 'export FSL_COURSE_DATA=/root/examples/fsl_course_data' >> /etc/profile.d/crn_neuro.sh && \
48+
echo 'export FSL_COURSE_DATA=/root/examples/fsl_course_data' >> /etc/bash.bashrc
49+
ENV FSL_COURSE_DATA /root/examples/fsl_course_data
50+
51+
CMD ["/bin/bash"]

0 commit comments

Comments
 (0)