Skip to content

Latest commit

 

History

History
43 lines (25 loc) · 5.09 KB

4.3.2 Dockerfile.md

File metadata and controls

43 lines (25 loc) · 5.09 KB

Dockerfile

Создает образ на базе которого строится контейнер.

Standard, Alpine \ Slim Versions of Docker Images

  • Стандартный образ Docker: образ основаны на полном дистрибутиве Linux, таком как Ubuntu или Debian, включают в себя широкий спектр предустановленных пакетов и зависимостей. Пример: FROM python:3.8

  • Alpine Linux Docker: Alpine Linux — это легкий дистрибутив Linux, небольшой и безопасный. Образы Docker на базе Alpine обычно намного меньше стандартных образов, поскольку включают в себя только самое необходимое для запуска приложения. Пример: FROM python:3.8-alphine

  • Slim образ Docker: образ построены на базе Alpine, поскольку они небольшие и эффективные. Однако они не обязательно основаны на Alpine Linux и могут использовать другие облегченные дистрибутивы Linux, такие как CentOS или Debian. Slim образы обычно включают только необходимые пакеты и зависимости для запуска приложения. Пример: FROM python:3.8-slim

Каждый раз, когда Docker встречает RUN инструкцию в Dockerfile, он фактически запускает новый контейнер! Image для этого контейнера состоит из базового образа и всех изменений, внесенных предыдущими инструкциями из Dockerfile, становятся новым слоем в создаваемом образе, и процесс повторяется, начиная со следующей инструкции Dockerfile.

Дюжина инструкций Dockerfile

  • FROM — задаёт базовый (родительский) образ.

  • LABEL — описывает метаданные. Например — сведения о том, кто создал и поддерживает образ.

  • ENV — устанавливает постоянные переменные среды. Переменные служат для использования внутри контейнера.

  • ARG — задаёт переменные для передачи Docker во время сборки образа. Переменные недоступны во время выполнения контейнера.

  • COPY — копирует в контейнер файлы и папки.

  • ADD — копирует файлы и папки в контейнер, может распаковывать локальные .tar-файлы.

  • WORKDIR — задаёт рабочую директорию для следующей инструкции.

  • RUN — выполняет команду и создаёт слой образа. Используется для установки в контейнер пакетов.

  • CMD — описывает команду с аргументами, которую нужно выполнить когда контейнер будет запущен. Аргументы могут быть переопределены при запуске контейнера. В файле может присутствовать лишь одна инструкция CMD.

  • ENTRYPOINT — предоставляет команду с аргументами для вызова во время выполнения контейнера. Аргументы не переопределяются.

  • EXPOSE — указывает на необходимость открыть порт (инструкция не открывает порты). Она, скорее, играет роль документации к образу.

  • VOLUME — создаёт точку монтирования для работы с постоянным хранилищем.

Этим список таких инструкций не исчерпывается. В частности, мы не рассмотрели здесь такие инструкции, как USER, ONBUILD, STOPSIGNAL, SHELL и HEALTHCHECK. Вот краткий справочник по инструкциям Dockerfile.

Список с содержимым базовых Dockerfile для разных языков программирования👍


4.3.1 Docker Theme | Back To iOSWiki Contents | 4.3.3 Persistance Data Theme