-
用来构建包含深度学习库的镜像,并且尽可能包含较多的python包使用方法:
-
dockerFile 内容
FROM ubuntu:18.04
ENV TENSORFLOW_VERSION=2.0.0
ENV PYTORCH_VERSION=1.3.0
ENV TORCHVISION_VERSION=0.4.1
ENV MXNET_VERSION=1.5.0
# Python 2.7 or 3.6 is supported by Ubuntu Bionic out of the box
ARG python=3.6
ENV PYTHON_VERSION=${python}
# Set default shell to /bin/bash
SHELL ["/bin/bash", "-cu"]
# download sources.list to current dir
ADD ./sources.list /etc/apt/sources.list
RUN apt-get update && apt-get install -y --allow-downgrades --allow-change-held-packages --no-install-recommends \
build-essential \
cmake \
g++-4.8 \
git \
curl \
vim \
wget \
ca-certificates \
libjpeg-dev \
libpng-dev \
python${PYTHON_VERSION} \
python${PYTHON_VERSION}-dev \
librdmacm1 \
libibverbs1 \
ibverbs-providers \
libglib2.0-0 \
libsm6 \
libxrender-dev \
libxext6
RUN if [[ "${PYTHON_VERSION}" == "3.6" ]]; then \
apt-get install -y python${PYTHON_VERSION}-distutils; \
fi
RUN ln -s /usr/bin/python${PYTHON_VERSION} /usr/bin/python
# 如果实在下载不下来pip,可以手动下载,然后指定本地文件安装
#ADD ./pip-19.3.1-py2.py3-none-any.whl /home/pip-19.3.1-py2.py3-none-any.whl
#RUN python get-pip.py pip==19.3.1 --find-links=/home/pip-19.3.1-py2.py3-none-any.whl
RUN curl -O https://bootstrap.pypa.io/get-pip.py && \
python get-pip.py && \
rm get-pip.py
# set pip
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U
RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
# Install TensorFlow, Keras, PyTorch and MXNet
RUN pip install future typing
RUN pip install numpy \
tensorflow==${TENSORFLOW_VERSION} \
keras \
h5py
RUN pip install torch==${PYTORCH_VERSION} torchvision==${TORCHVISION_VERSION}
RUN pip install mxnet==${MXNET_VERSION}
# 换成aliyun
RUN pip config set global.index-url http://mirrors.aliyun.com/pypi/simple/
ADD ./req.txt /etc/apt/req.txt
RUN pip install -r /etc/apt/req.txt --trusted-host mirrors.aliyun.com
# Install Open MPI
RUN mkdir /tmp/openmpi && \
cd /tmp/openmpi && \
wget https://www.open-mpi.org/software/ompi/v4.0/downloads/openmpi-4.0.0.tar.gz && \
tar zxf openmpi-4.0.0.tar.gz && \
cd openmpi-4.0.0 && \
./configure --enable-orterun-prefix-by-default && \
make -j $(nproc) all && \
make install && \
ldconfig && \
rm -rf /tmp/openmpi
# Install OpenSSH for MPI to communicate between containers
RUN apt-get install -y --no-install-recommends openssh-client openssh-server && \
mkdir -p /var/run/sshd
# Allow OpenSSH to talk to containers without asking for confirmation
RUN cat /etc/ssh/ssh_config | grep -v StrictHostKeyChecking > /etc/ssh/ssh_config.new && \
echo " StrictHostKeyChecking no" >> /etc/ssh/ssh_config.new && \
mv /etc/ssh/ssh_config.new /etc/ssh/ssh_config
# 清华下载太多了,不让下
RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
#WORKDIR "/examples"
网友评论