Найти в Дзене
Поясни за DevOps

Шпаргалка по инструкциям Dockerfile

FROM Как используется: FROM <image> FROM <image>:<tag> FROM <image>@<digest> Назначение: Задает базовый образ. MAINTAINER Как используется: MAINTAINER <name> Назначение: Cообщает Docker информацию об авторе образа RUN Как используется: RUN <command> RUN ["<executable>", "<param1>", "<param2>"] Назначение: Выполняет команду внутри контейнера и сохраняет результат. CMD Как используется: CMD ["<executable>","<param1>","<param2>"] CMD ["<param1>","<param2>"] CMD <command> <param1> <param2> Назначение: Выполняет команду с указанными аргументами во время запуска контейнера. CMD должна быть одна в конце Dockerfile. Если в Dockerfile нет CMD, обязательно должна быть инструкция ENTRYPOINT. LABEL Как используется: LABEL <key>=<value> [<key>=<value> ...] Назначение: Добавляет метаданные в образ. EXPOSE Как используется: EXPOSE <port> [<port> ...] Назначение: Указывает планируемый рабочий порт у контейнера. Инструкция сама по себе не открывает порт. Чтобы использовался указанный в EXPOSE порт — ну
Оглавление

FROM

Как используется:

FROM <image>
FROM <image>:<tag>
FROM <image>@<digest>

Назначение:

Задает базовый образ.

MAINTAINER

Как используется:

MAINTAINER <name>

Назначение:

Cообщает Docker информацию об авторе образа

RUN

Как используется:

RUN <command>
RUN ["<executable>", "<param1>", "<param2>"]

Назначение:

Выполняет команду внутри контейнера и сохраняет результат.

CMD

Как используется:

CMD ["<executable>","<param1>","<param2>"]
CMD ["<param1>","<param2>"]
CMD <command> <param1> <param2>

Назначение:

Выполняет команду с указанными аргументами во время запуска контейнера. CMD должна быть одна в конце Dockerfile. Если в Dockerfile нет CMD, обязательно должна быть инструкция ENTRYPOINT.

LABEL

Как используется:

LABEL <key>=<value> [<key>=<value> ...]

Назначение:

Добавляет метаданные в образ.

EXPOSE

Как используется:

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

Назначение:

Указывает планируемый рабочий порт у контейнера. Инструкция сама по себе не открывает порт. Чтобы использовался указанный в EXPOSE порт — нужно указать docker run -P при запуске контейнера. Если требуется пробросить и сопоставить разные порты внутри и снаружи контейнеранужно использовать docker run -p внутренний порт:внешний порт

ENV

Как используется:

ENV <key> <value>
ENV <key>=<value> [<key>=<value> ...]

Назначение:

Задает переменные среды внутри образа, на которые могут ссылаться другие инструкции.

ADD

Как используется:

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

Назначение:

Копирует файлы и папки из текущей позиции пользователя, может скачивать файлы по URL и работать с архивами. Официальная документация не рекомендует применять ADD.

COPY

Как используется:

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

Назначение:

Копирует файлы и папки в указанную директорию в контейнере.

ENTRYPOINT

Как используется:

ENTRYPOINT ["<executable>", "<param1>", "<param2>"]
ENTRYPOINT <command> <param1> <param2>

Назначение:

Похожа на CMD, но при запуске контейнера не переопределяется в отличие от CMD.

VOLUME

Как используется:

VOLUME ["<path>", ...]
VOLUME <path> [<path> ...]

Назначение:

Создает и подключает постоянный том хранения данных.

USER

Как используется:

USER <username | UID>

Назначение:

Указывает пользователя, от имени которого нужно запускать приложение.

WORKDIR

Как используется:

WORKDIR </path/to/workdir>

Назначение:

Устанавливает рабочую директорию контейнера.

ARG

Как используется:

ARG <name>[=<default value>]

Назначение:

Задает переменные, значение которых передается Docker во время сборки образа. В отличие от ENV-переменных, ARG-переменные недоступны во время выполнения контейнера.

#ПоясниЗаDevOps #Docker #Dockerfile