Docker Compose: Путь к Dockerfile — Пример

Команды docker-compose build и docker-compose up --build, читая содержимое файла docker-compose.yml, ищут все сервисы с опцией build и для каждого из найденных сервисов выполняют команду docker build.

Если Dockerfile был переименован или размещен в каталоге отличном от указанного в context, вы можете указать альтернативный путь к Dockerfile в файле Docker Compose.

Ниже я покажу пример того, как указать альтернативный путь к Dockerfile в секции build файла Docker Compose.

Дельный Совет: Как добавить тег в существующий Docker-образ, либо как задать теги во время сборки нового образа! Читать далее →

Путь к Dockerfile в Docker Compose

Пример Docker Compose файла с опцией build, в которой задается относительный путь к context и альтернативный Dockerfile:

# docker-compose.yml

version: '3.9'
services:
  web:
    build:
      context: ./web
      dockerfile: ./web/build/Dockerfile-alpine
      args:
        environment: dev
        status: stable
    ports:
        - 80:80

Аргументы args, указанные в секции build файла Docker Compose, могут быть передана в Dockerfile следующим образом:

# Dockerfile-alpine

ARG environment
ARG status

RUN echo "Build environment: ${environment}"
RUN echo "Based status: ${status}"

Дельный Совет: Добавление LABEL к Docker-образам для их классификации и лучшей автоматизации! Читать далее →