-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathml.Dockerfile
65 lines (58 loc) · 1.9 KB
/
ml.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
61
62
63
64
65
# https://github.com/tradingAI/docker/blob/master/bazel.Dockerfile
FROM tradingai/bazel:latest
RUN apt-get -y update --fix-missing && \
apt-get -y upgrade --fix-missing && \
DEBIAN_FRONTEND=noninteractive apt-get -y install --fix-missing \
gcc \
g++ \
zlibc \
zlib1g-dev \
libssl-dev \
libbz2-dev \
libsqlite3-dev \
libncurses5-dev \
libgdbm-dev \
libgdbm-compat-dev \
liblzma-dev \
libreadline-dev \
uuid-dev \
libffi-dev \
tk-dev \
wget \
curl \
git \
make \
sudo \
bash-completion \
tree \
vim \
software-properties-common && \
apt-get -y autoclean && \
apt-get -y autoremove && \
rm -rf /var/lib/apt-get/lists/*
# Install Open MPI
# download realese version from official website as openmpi github master is not always stable
ARG OPENMPI_VERSION=openmpi-4.0.0
ARG OPENMPI_DOWNLOAD_URL=https://www.open-mpi.org/software/ompi/v4.0/downloads/openmpi-4.0.0.tar.gz
RUN mkdir /tmp/openmpi && \
cd /tmp/openmpi && \
wget ${OPENMPI_DOWNLOAD_URL} && \
tar zxf ${OPENMPI_VERSION}.tar.gz && \
cd ${OPENMPI_VERSION} && \
./configure --enable-orterun-prefix-by-default && \
make -j $(nproc) all && \
make install && \
ldconfig && \
rm -rf /tmp/openmpi
# Create a wrapper for OpenMPI to allow running as root by default
RUN mv /usr/local/bin/mpirun /usr/local/bin/mpirun.real && \
echo '#!/bin/bash' > /usr/local/bin/mpirun && \
echo 'mpirun.real --allow-run-as-root "$@"' >> /usr/local/bin/mpirun && \
chmod a+x /usr/local/bin/mpirun
# Configure OpenMPI to run good defaults:
RUN echo "btl_tcp_if_exclude = lo,docker0" >> /usr/local/etc/openmpi-mca-params.conf
# install ml libs
RUN pip install torch==1.4
RUN pip install tensorflow==2.0.1
RUN pip install tensorboard==2.0.0
CMD ["bin/bash"]