# 基础镜像, cuda为10.2.0/10.1.0,ubuntu18.04
FROM nvidia/cuda:10.0-cudnn7-devel-ubuntu18.04
# 配置程序依赖环境
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
cmake \
curl \
wget \
ca-certificates \
libjpeg-dev \
libgdal-dev \
libpng-dev \
python3 \
python3-dev \
python3-pip && \
rm -rf /var/lib/apt/lists/*
# install Anaconda3
RUN wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2019.10-Linux-x86_64.sh -O ~/anaconda3.sh
RUN bash ~/anaconda3.sh -b -p /home/anaconda3 \
&& rm ~/anaconda3.sh
ENV PATH /home/anaconda3/bin:$PATH
# change mirror
RUN mkdir ~/.pip \
&& cd ~/.pip
RUN echo -e "[global]\nindex-url = https://pypi.mirrors.ustc.edu.cn/simple/" >> ~/pip.conf
RUN conda install gdal
RUN /home/anaconda3/bin/pip install --upgrade pip
RUN /home/anaconda3/bin/pip install setuptools
RUN /home/anaconda3/bin/pip install tensorflow-gpu==1.13.2 -i https://mirrors.aliyun.com/pypi/simple
RUN /home/anaconda3/bin/pip install Keras==2.1.5 -i https://mirrors.aliyun.com/pypi/simple
RUN /home/anaconda3/bin/pip install scipy==1.2.1 -i https://mirrors.aliyun.com/pypi/simple
RUN /home/anaconda3/bin/pip install numpy==1.17.0 -i https://mirrors.aliyun.com/pypi/simple
RUN /home/anaconda3/bin/pip install h5py==2.10.0 -i https://mirrors.aliyun.com/pypi/simple
RUN /home/anaconda3/bin/pip install opencv_python==4.1.2.30 -i https://mirrors.aliyun.com/pypi/simple
RUN /home/anaconda3/bin/pip install opencv_python-headless -i https://mirrors.aliyun.com/pypi/simple
RUN /home/anaconda3/bin/pip install geojson -i https://mirrors.aliyun.com/pypi/simple
RUN /home/anaconda3/bin/pip install matplotlib==3.1.2 -i https://mirrors.aliyun.com/pypi/simple
RUN /home/anaconda3/bin/pip install tqdm==4.60.0 -i https://mirrors.aliyun.com/pypi/simple
RUN /home/anaconda3/bin/pip install Pillow==8.2.0 -i https://mirrors.aliyun.com/pypi/simple
上述为Dockerfile文件,如果安装其他深度学习的框架(torch,paddlepaddle等)自行修改Dockerfile文件;
1.建立镜像:docker build -t yolov4_lj1:v3 .(这里是给镜像起名字,还有这个.不能忘记)
2.运行镜像: nvidia-docker run -it 7c4f83d33ad9(这里是容器的id,也可以用容器的名字将版本比如:yolov4_lj1:v3)
3.打包镜像:docker save -o yolov4_gk1_v3.tar yolov4_gk1:v3
上述基本完成了深度学习框架docker安装的全部过程
***************docker常用指令******************************
针对镜像操作的指令:
*查看镜像:docker images
*删除镜像:docker image rm/docker rmi (这里需要先停镜像)
*镜像打包:docker save -o 压缩名 镜像名
针对容器操作的指令:
*运行容器:docker run -itd yolo:v1 /bin/bash (这里是镜像名)
*容器打包成新的镜像:docker commit 容器名/资源名
*进入守护进程的容器:docker exec -it 容器名 /bin/bash
*查看容器:docker ps -a
*停止,启动,删除容器:docker stop/start/rm