Как подменить файл при создании образа?

Для подмены файла при создании Docker-образа можно воспользоваться функциональностью "Dockerfile" и командами COPY или ADD.

Команда COPY в Dockerfile позволяет копировать файлы и директории из исходной директории на хост-системе в образ Docker.

Синтаксис команды COPY выглядит следующим образом:
COPY <source> <destination>

Где <source> - путь к файлу или директории на хост-системе, а <destination> - путь внутри образа Docker, куда файл или директория должны быть скопированы.

Например, представим, что у нас есть файл с именем "config.txt", который должен быть заменен в процессе создания Docker-образа. Допустим, этот файл находится в каталоге "src" на хост-системе, и мы хотим скопировать его в образ в каталог "/app/config".

В Dockerfile мы добавим следующую команду COPY:
COPY src/config.txt /app/config/

Этот код скопирует файл "config.txt" из директории "src" на хост-системе в директорию "/app/config" внутри Docker-образа. Если директория "/app/config" не существует внутри образа, она будет автоматически создана.

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

После добавления команды COPY или ADD в Dockerfile, можно выполнить команду "docker build" для создания нового образа Docker.

Например, если мы хотим создать образ с именем "myapp-image" из Dockerfile, содержащего команду COPY, мы можем выполнить следующую команду в терминале:
docker build -t myapp-image .

Здесь "-t myapp-image" задает имя образа, а точка (".") указывает на текущую директорию, где находится Dockerfile.

После успешного выполнения команды "docker build" будет создан новый образ с подмененным файлом "config.txt" внутри.