何为Dockerfile
为了给特定的程序提供特定的运行环境,常用的解决办法是就构建镜像。而Dockerfile就是构建镜像的源代码,Docker程序根据这份源代码在镜像中安装、拷贝文件、设置环境变量。
Dockerfile文件编写
下面列举两个简单样例,说明基本的Dockerfile编写规则:
样例1-极市开发者平台
# 从极市开发者平台基础镜像开始构建
FROM 10.9.0.187/algo_team/cuda10.0-cudnn7.4.2-dev-ubuntu16.04-opencv4.1.1-tensorflow1.13-openvino2020r1
# 创建默认目录,训练过程中生成的模型文件、日志、图必须保存在这些固定目录下,训练完成后这些文件将被保存
RUN mkdir -p /project/train/src_repo && mkdir -p /project/train/result-graphs && mkdir -p /project/train/log && mkdir -p /project/train/models
# 安装训练环境依赖端软件,请根据实际情况编写自己的代码
COPY . /project/train/src_repo/
RUN python3.6 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r /project/train/src_repo/requirements.txt
RUN wget -q http://10.9.0.103:8888/group1/M00/00/02/CgkAZ15ibP2EQwGkAAAAAPNBqdc5432.gz -O /project/train/src_repo/pre-trained-model/ssd_inception_v2_coco_2018_01_28.tar.gz \
&& cd /project/train/src_repo/pre-trained-model/ \
&& tar zxf ssd_inception_v2_coco_2018_01_28.tar.gz -C ./ \
&& mv ssd_inception_v2_coco_2018_01_28/* ./
代码解析: