При настройке и настройке некоторых док-контейнеров я спросил себя, как можно автоматически редактировать некоторые файлы конфигурации внутри контейнера после , когда контейнерная служба закончила установку (так как файлы конфигурации создаются при установке).
Я пробовал это, используя файл оболочки и добавив его как entrypoint
в Dockerfile
.Однако, как я уже говорил, файл конфигурации не существует в самом начале, и, следовательно, команды sed
в сценарии не выполняются.
Связывание файлов конфигурации с - ./myConfig.conf:/xy/myConfig.conf
также не вариант, так как конфигурациясодержит некоторые параметры, зависящие от установки.
Самое разумное решение, которое у меня есть найдено - запуск сценария, который редактирует конфигурацию вручную после завершения установки с помощью docker exec -i mycontainer sh < editconfig.sh
РЕДАКТИРОВАТЬ
Мой вопрос сформулирован в общих чертах.Однако вопрос возник при работе с Nextcloud в настройке docker-compose
, аналогичной официальному примеру .Этот контейнер содержит файл config.php
, который является общим файлом конфигурации Nextcloud и создается во время установки.Определенные свойства этих файлов должны быть изменены (существует только очень ограниченное количество переменных среды, которые можно указать).Поскольку я провожу некоторые тесты с этим контейнером, мне приходится многократно переустанавливать его и, таким образом, заново редактировать файл конфигурации.