Я должен запускать каждый экземпляр моего приложения как отдельную службу Docker. Базовый образ такой же, но файл конфигурации отличается для каждого экземпляра. Теперь проблема в том, что мое приложение вносит некоторые изменения в файл конфигурации. И я хочу, чтобы изменения конфигурации сохранялись, чтобы при перезапуске моего приложения (в качестве службы Docker) оно использовало обновленную конфигурацию.
Я могу использовать файл конфигурации в качестве точки монтирования, используя docker config
. Но проблема не в том, какой режим (rwx
) я задаю, я не могу обновить файл конфигурации изнутри контейнера. Смонтированная конфигурация всегда Файловая система только для чтения .
1. Как внести изменения в файл конфигурации из контейнера Docker?
2. Как сделать, чтобы обновленный файл конфигурации сохранялся за пределами контейнера, чтобы при перезапуске службы использовалась обновленная конфигурация?
Я сделал следующее, чтобы отделить файл конфигурации от образа / контейнера:
docker config create my-config config.txt
docker service create \
--name redis \
--config src=my-config,target=/config.txt,mode=0660 \
redis:alpine
docker container exec -ti <containerId> /bin/sh
Файл конфигурации смонтирован на /config.txt
, но я не могу его редактировать.