Dockerfile 命令

darknet dockerfile示例

# Sha256 corresponds to tag '18.04'
FROM ubuntu@sha256:017eef0b616011647b269b5c65826e2e2ebddbe5d1f8c1e56b3599fb14fabec8

RUN apt-get update \
  && apt-get install -y --no-install-recommends \
    build-essential=12.* \
    ca-certificates=* \
    curl=7.58.* \
    g++=4:7.* \
    gcc=4:7.* \
    git=1:2.17* \
  && rm -rf /var/lib/apt/lists/*

RUN git clone --depth 1 https://github.com/pjreddie/darknet.git

RUN mkdir /output

WORKDIR /darknet

# Download weights for YOLOv3 detection
RUN curl -sSLO https://pjreddie.com/media/files/yolov3.weights

RUN make

COPY darknet_wrapper.sh ./

ENTRYPOINT ["./darknet_wrapper.sh"]

CMD ["detect", "cfg/yolov3.cfg", "yolov3.weights", "-out", "/output/prediction"]

命令介绍

1. FROM

指定基础镜像,必须为第一个命令

示例:

FROM :
FROM @
tag或digest是可选的,如果不使用这两个值时,会使用latest版本的基础镜像

2. RUN

构建镜像时执行的命令

等同于,在终端操作的 shell 命令

3. ADD

将本地文件添加到容器中,tar类型文件会自动解压

示例:
    ADD hom* /mydir/          # 添加所有以"hom"开头的文件
    ADD hom?.txt /mydir/      # ? 替代一个单字符,例如:"home.txt"
    ADD test relativeDir/     # 添加 "test" 到 `WORKDIR`/relativeDir/
    ADD test /absoluteDir/    # 添加 "test" 到 /absoluteDir/

4. COPY

功能类似ADD,但是是不会自动解压文件,也不能访问网络资源

5. WORKDIR

工作目录,类似于cd命令

格式:
    WORKDIR /path/to/workdir
示例:
    WORKDIR /a  (这时工作目录为/a)
    WORKDIR b  (这时工作目录为/a/b)
    WORKDIR c  (这时工作目录为/a/b/c)

 

6. ENTRYPOINT + CMD配合使用

./darknet_wrapper.sh   detect cfg/yolov3.cfg   yolov3.weights   out    /output/prediction

 

 

 

 

 

 

 

你可能感兴趣的:(深度学习框架)