Rya*_*der 5 docker docker-swarm
我有
Error response from daemon: rpc error: code = InvalidArgument desc = only updates to Labels are allowed
Run Code Online (Sandbox Code Playgroud)
重新部署堆栈时
docker stack deploy -c docker-compose.yml --with-registry-auth monitoring
Run Code Online (Sandbox Code Playgroud)
Moh*_*asm 15
不幸的是,正如Ryabchenko Alexander所说,docker配置无法更新,请参阅 moby 问题。
在一种方法中,您可以使用命令删除使用新配置的服务docker service rm service_name。
然后删除配置docker config rm config_name并重新部署堆栈以更新配置并重新创建删除的服务。
更新:如果有必要没有停机,请参阅此评论。
建议的删除堆栈/服务方法会带来停机时间。
幸运的是,有一个无需停机即可解决此问题的巧妙解决方法。只需为您的配置/秘密设置一个名称,并在每次运行命令时借助环境变量更改该名称docker stack deploy:
version: '3.7'
services:
nginx:
image: nginx:alpine
configs:
- source: nginxconf
target: /etc/nginx/foobar.conf
configs:
nginxconf:
name: nginx.conf-${CONFIG_VERSION:-0}
file: ./nginx.conf
Run Code Online (Sandbox Code Playgroud)
对于下一个部署,首先更改该变量,然后运行docker stack deploy:
CONFIG_VERSION=1 docker stack deploy -c docker-compose.yml mystack
Run Code Online (Sandbox Code Playgroud)
你可以在这里阅读更多。
| 归档时间: |
|
| 查看次数: |
6972 次 |
| 最近记录: |