`docker service update` не работает для обновления конфигурации - PullRequest
1 голос
/ 12 октября 2019

Во-первых, каждый шаг выполняется на первый взгляд успешно (не сообщается ни об одной ошибке). Но согласно тому, что я понимаю о том, как проверить, применен ли новый конфиг, все в порядке, похоже, не удалось обновить конфиг.

Предположим, у меня есть файл конфигурации с простым содержимым, подобным этому:

Well done

Я создал конфигурацию (первую версию) следующим образом:

echo 'Well done' | docker config create my-config -

Теперь у меня есть локальный файл с именем my-config.txt (на главном компьютере) с содержимым, как описано выше, он используется какшаблон (источник) для клонирования над целью в контейнере Docker. В контейнере Docker уже есть файл конфигурации с тем же содержимым (изначально). Теперь я изменяю содержимое файла my-config.txt (на главном компьютере) примерно так:

Well done !!!

И затем я обновляю текущую службу докера (созданную ранее), используя docker service update, чтобы применитьновый конфигурационный файл, например, такой:

//firstly create another version of config
docker config create my-config-2 /home/my_user/my-config.txt
docker service update \
   --config-add source=my-config-2,target=my-config.txt \
   --config-rm my-config \
   my-service

Как я уже сказал, он, кажется, успешно выполняется. Но когда я пытаюсь открыть файл my-config.txt в контейнере Docker, его содержимое остается неизменным, например:

docker exec [container_id] cat my-config.txt

По-прежнему отображается Well done, тогда как ожидаемое содержимое должно быть Well done !!!. Разве это не то, что должно быть? Я что-то здесь не так делаю? Или вы могли бы предложить что-то для диагностики этой проблемы или что-то отличное от того, что я сделал, не пытаясь решить эту проблему?

...