基于python-cuda-nvidia-cudnn的dockerfile模板,这里介绍两种gpu的dockerfile模板和一个cpu的dockerfile模板:
基于centos(gpu):
FROM nvidia/cuda:9.0-cudnn7-devel-centos7
MAINTAINER yon@xxxx.com
RUN yum -y install make wget \
&& wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo \
&& wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-7.repo \
&& yum clean all && yum makecache
RUN yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc
RUN wget -O /usr/local/src/Python-3.5.5.tar.xz https://www.python.org/ftp/python/3.5.5/Python-3.5.5.tar.xz \
&& cd /usr/local/src/ && xz -d Python-3.5.5.tar.xz && tar -xf Python-3.5.5.tar \
&& cd /usr/local/src/Python-3.5.5 && ./configure prefix=/usr/local/python3 && make && make install
RUN mv /usr/bin/python /usr/bin/python.bak \
&& ln -s /usr/local/python3/bin/python3.5 /usr/bin/python && rm -rf /usr/bin/pip* \
&& ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3 \
&& ln -s /usr/bin/pip3 /usr/bin/pip
RUN sed -i 's@/usr/bin/python@/usr/bin/python2@' /usr/bin/yum \
&& sed -i 's@/usr/bin/python@/usr/bin/python2@' /usr/libexec/urlgrabber-ext-down
RUN pip3 install -i https://mirrors.aliyun.com/pypi/simple/ tensorflow-gpu==1.11.0 \
&& pip3 install -i https://mirrors.aliyun.com/pypi/simple/ Keras==2.2.4
基于ubuntu(gpu):编译镜像:
sudo docker build -t psenet:v2 .
启动容器:docker run -it --runtime=nvidia psenet:v1 /bin/bash
#版本:cuda10.0 ubuntu18.04
FROM nvidia/cuda:10.0-devel-ubuntu18.04
LABEL Author="hks5201106166<github.com/hks5201106166>"
ENV LANG C.UTF-8
COPY . /cv/psenet_project/
WORKDIR /cv/psenet_project/
#设置国内镜像源
RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak && \
echo "deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse" >/etc/apt/sources.list && \
echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse" >>/etc/apt/sources.list && \
echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse" >>/etc/apt/sources.list && \
echo "deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse" >>/etc/apt/sources.list
#安装软件和配置
RUN apt update && apt install -y vim
RUN apt install -y python3.6
RUN apt install -y python3-pip
RUN ln -s /usr/bin/python3 /usr/bin/python
RUN ln -s /usr/bin/pip3 /usr/bin/pip
RUN mkdir ~/.pip
RUN touch ~/.pip/pip.conf
RUN echo "[global]" >~/.pip/pip.conf && \
echo "index-url = http://mirrors.aliyun.com/pypi/simple" >>~/.pip/pip.conf && \
echo "[install]" >>~/.pip/pip.conf && \
echo "trusted-host=mirrors.aliyun.com" >>~/.pip/pip.conf
#RUN apt-get install libbsd0 libice6 libsm6 multiarch-support x11-common
#RUN apt-get install libxrender1
#RUN apt-get install libxext-dev
RUN pip install -r ./psenet_pytorch/requirements.txt
最后介绍基于centos(cpu):
FROM centos:7
MAINTAINER yon@xxxx.com
RUN yum -y install make wget \
&& wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo \
&& wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-7.repo \
&& yum clean all && yum makecache
RUN yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc
RUN wget -O /usr/local/src/Python-3.5.5.tar.xz https://www.python.org/ftp/python/3.5.5/Python-3.5.5.tar.xz \
&& cd /usr/local/src/ && xz -d Python-3.5.5.tar.xz && tar -xf Python-3.5.5.tar \
&& cd /usr/local/src/Python-3.5.5 && ./configure prefix=/usr/local/python3 && make && make install
RUN mv /usr/bin/python /usr/bin/python.bak \
&& ln -s /usr/local/python3/bin/python3.5 /usr/bin/python && rm -rf /usr/bin/pip* \
&& ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3 \
&& ln -s /usr/bin/pip3 /usr/bin/pip
RUN sed -i 's@/usr/bin/python@/usr/bin/python2@' /usr/bin/yum \
&& sed -i 's@/usr/bin/python@/usr/bin/python2@' /usr/libexec/urlgrabber-ext-down
RUN pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow==1.11.0 \
&& pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple Keras==2.2.4