Dockerfile Syntax Cheatsheet

875




FROM

Syntax

FROM <image>:<tag>

Example

FROM ubuntu:16.04

ENV

Syntax

ENV <key> <value>

Example

ENV JAVA_HOME       /usr/lib/jvm/java-8-oracle

RUN

Syntax

RUN <command>

Example

RUN apt-get update

EXPOSE

Syntax

EXPOSE <port> [<port> ...]

Example

EXPOSE 8080 9200

COPY

Syntax

COPY <src> [<src> ...] <dest>

Example

COPY file1.txt /opt/app/file1.txt

ADD

Syntax

ADD <src> [<src> ...] <dest>

Example

ADD file1.txt /opt/app/file1.txt
ADD jdk-8u120-linux-x64.tar.gz /usr/local/  # ADD unzips for you
ADD http://example.com/app.tar.xz /opt/app/ # ADD also support urls

VOLUME

Syntax

VOLUME </path/from/host> </path/from/docker-container>

Example

VOLUME /data /mongodb/db/data

WORKDIR

Sets working directory where other commands run
Syntax

WORKDIR <path>

Example

WORKDIR /opt/app

CMD

Syntax

CMD <command> [<command> ...]

Example

CMD ['node' 'index.js']