forked from sergivalverde/nicMSlesions
/
Dockerfile
60 lines (51 loc) · 1.46 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
FROM nvidia/cuda:8.0-cudnn5-devel-ubuntu16.04
MAINTAINER Sergi Valverde <svalverde@eia.udg.edu>
# Install git, wget, python-dev, pip, BLAS + LAPACK and other dependencies
RUN apt-get update && apt-get install -y \
gfortran \
git \
wget \
liblapack-dev \
libopenblas-dev \
python-dev \
python-tk\
git \
curl \
emacs24
USER root
ENV CUDA_ROOT /usr/local/cuda/bin
# Install miniconda to /miniconda
RUN curl -LO http://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh
RUN bash Miniconda-latest-Linux-x86_64.sh -p /miniconda -b
RUN rm /Miniconda-latest-Linux-x86_64.sh
ENV PATH=/miniconda/bin:${PATH}
RUN conda update -y conda
# install CNN related packages
ADD requirements.txt /requirements.txt
RUN conda install numpy scipy mkl
RUN conda install theano pygpu
RUN pip install pip --upgrade
RUN pip install -r /requirements.txt
# create a docker user
RUN useradd -ms /bin/bash docker
ENV HOME /home/docker
# copy necessary files to container
RUN mkdir $HOME/src
ENV PATH=/$HOME/src:${PATH}
ADD __init__.py $HOME/src/
ADD .theanorc $HOME/.theanorc
ADD .keras $HOME/.keras
ADD app.py $HOME/src/
ADD cnn_scripts.py $HOME/src/
# ADD config $HOME/src/config
# ADD nets $HOME/src/nets
ADD libs $HOME/src/libs
ADD utils $HOME/src/utils
ADD logonic.png $HOME/src/
ADD nic_train_network_batch.py $HOME/src/
ADD nic_infer_segmentation_batch.py $HOME/src/
# add permissions (odd)
# RUN chown docker -R nets
# RUN chown docker -R config
USER docker
WORKDIR $HOME/src