Инструкции Dockerfile — различия между версиями

Материал из megapuper
Перейти к: навигация, поиск
Строка 35: Строка 35:
 
  ENTRYPOINT ["cowsay"]
 
  ENTRYPOINT ["cowsay"]
  
 +
 +
FROM debian
 +
 +
MAINTAINER outlander <finston@gmail.com>
 +
 +
COPY . /opt
 +
 +
RUN apt-get update && apt-get install -y \
 +
    nginx && \
 +
    rm -rf /var/lib/apt/lists/*
 +
 +
WORKDIR /srv/www/project
 +
 +
ENTRYPOINT ["cowsay"]
  
  
 
https://docs.docker.com/engine/reference/builder/
 
https://docs.docker.com/engine/reference/builder/

Версия 17:45, 27 сентября 2021

Dockerfile - файл содержащий инструкции для создания образа контейнера


FROM - задаёт базовый (родительский) образ
LABEL - описывает метаданные. Например — сведения о том, кто создал и поддерживает образ
ENV - устанавливает постоянные переменные среды
RUN - выполняет команду и создаёт слой образа. Используется для установки в контейнер пакетов
COPY - копирует в контейнер файлы и папки
ADD - копирует файлы и папки в контейнер, может распаковывать архив на лету
CMD - описывает команду с аргументами, которую нужно выполнить когда контейнер будет запущен. Аргументы могут быть переопределены при запуске контейнера. В файле может присутствовать лишь одна инструкция CMD(запускается оболочка /bin/sh)
USER - указывает от какого пользователя всё будет работать
WORKDIR - задаёт рабочую директорию для следующей инструкции
ARG - задаёт переменные для передачи Docker во время сборки образа
ENTRYPOINT - предоставляет команду с аргументами для вызова во время выполнения контейнера. Аргументы не переопределяются
EXPOSE - указывает на необходимость открыть порт, сам порт не открывает
VOLUME - создаёт точку монтирования для работы с постоянным хранилищем
MAINTAINER - информация об авторе имя и <email>

FROM ubuntu:18.04

MAINTAINER outlander <finston@gmail.com>

RUN apt-get update && \
    apt-get install -y python3 python3-pip && \
    pip3 install flask virtualenv && \
    useradd -m app && \
    apt-get clean
 
USER app

COPY --chown=app:app . /srv/www/project

WORKDIR /srv/www/project

ENTRYPOINT ["cowsay"]


FROM debian

MAINTAINER outlander <finston@gmail.com>

COPY . /opt

RUN apt-get update && apt-get install -y \
    nginx && \
    rm -rf /var/lib/apt/lists/*

WORKDIR /srv/www/project

ENTRYPOINT ["cowsay"]


https://docs.docker.com/engine/reference/builder/