Docker版使用Consul 的key/value存储替换config server
由于consul自带kv存储,完全可以取代config server。之前代码中config server的依赖去掉,换成consul-config的依赖即可。有浏览器可以访问consul UI的情况下,我们可以轻松的把Key/value值粘贴上
但是如果项目用docker部署在linux上,没有UI页面的时候Consul是没有servername:8500 页面能去粘贴动态配置文件,那么问题来了,如何使用consul镜像来put key/value值呢,之前全网搜过一些办法,都是windows下的命令,在linux下尤其是consul的docker版本下根本不适用,经过了几天的尝试,将docker命令记载一下。
如果我的web-prod.yml中只写了一个数字1,那么运行后的结果如下图所示:
# consul KV put web-prod.yml
docker run --rm \
--mount type=bind,source=$CONFIGURATIONS_ROOT,target=/consul/kv \
--network host $DOCKER_REGISTRY/$IMAGE_NAME kv put \
--token=$CONSUL_TOKEN config/web:prod/data @/consul/kv/web/web-prod.yml
动态配置yml文件大家自行百度,这里就不详述了。