FROM
<image> [AS <name>]
<image>[:<tag>] [AS <name>]
ARG
VARIABLE_NAME=[value]
FROM base:${VARIABLE_NAME}
RUN
<command> (shell form – /bin/sh –c)
[“command”, “parm1”, ”parm2”] (exec form, JSON)
CMD
[“command”, “parm1”, “parm2”] (exec form, JSON)
[“parm1”,”parm2”] (parms for ENTRYPOINT)
LABEL
metadata added to image, key/value pair
“label details”=“label reference name”
MAINTAINER (deprecated)
<name of maintainer>
LABEL maintainer=“name” (new format)
EXPOSE
<port> [<port>/<protocol>…]
Does NOT publish port, serves as documentation
Docker Certified Associate
Dockerfile – Options and Structure
ENV
<key> <value>
<key>=<value>
ADD
<src>…<dest> (must include quotes if spaces)
WORKDIR – used as variable for relative path
COPY
<src>…<dest> (must include quotes if spaces)
WORKDIR – used as variable for relative path
ENTRYPOINT
[“command”, “parm1”, “parm2”] (exec form, JSON)
command parm1 parm2 (shell form)
VOLUME
[“/path”]
NOTE: Does not mount host path, not portable
USER
<user>[:<group>] or <UID>[:<GID>]
affects RUN, CMD or ENTRYPOINT
WORKDIR
/path/to/dir
sets working directory for RUN, CMD, ENTRYPOINT