首先,每个步骤似乎都成功完成了(没有报告任何错误)。但是据我了解的有关如何检查新配置是否应用的知识,确定更新配置似乎失败。
假设我有一个配置文件,其内容如下:
Well done
我这样创建了一个配置(第一个版本):
echo 'Well done' | docker config create my-config -
现在,我有一个名为my-config.txt
的本地文件(在主机上),该文件具有如上所述的内容,它用作在Docker容器上克隆目标的模板(源)。在Docker容器上,已经有一个具有相同内容的配置文件(最初)。现在,将文件my-config.txt
(在主机上)的内容更改为如下内容:
Well done !!!
接下来,我使用docker service update
应用新的配置文件来更新当前的docker服务(之前创建的),如下所示:
//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
正如我所说,它似乎执行成功。但是,当我尝试在Docker容器上打开my-config.txt
文件时,其内容保持不变,如下所示:
docker exec [container_id] cat my-config.txt
它仍显示Well done
,而预期内容应为Well done !!!
。那不是应该的吗?我在这里做错什么了吗?还是您可以建议一些诊断此问题的方法,或者与我所做的事情有所不同的方法,而不必尝试解决此问题?