如何使用定义的 key/value 初始设置 consul
how to initial setup consul with defined key/value
我已经使用 docker compose 设置了 docker 配置。
这是 docker 撰写文件的一部分
version: '3'
networks:
pm:
services:
consul:
container_name: consul
image: consul:latest
restart: unless-stopped
ports:
- 8300:8300
- 8301:8301
- 8302:8302
- 8400:8400
- 8500:8500
- 8600:8600
environment:
CONSUL_LOCAL_CONFIG: >-
{
"bootstrap": true,
"server": true,
"node_name": "consul1",
"bind_addr": "0.0.0.0",
"client_addr": "0.0.0.0",
"bootstrap_expect": 1,
"ui": true,
"addresses" : {
"http" : "0.0.0.0"
},
"ports": {
"http": 8500
},
"log_level": "DEBUG",
"connect" : {
"enabled" : true
}
}
volumes:
- ./data:/consul/data
command: agent -server -bind 0.0.0.0 -client 0.0.0.0 -bootstrap-expect=1
然后通过浏览器设置键值
我想在新环境中添加 key/value 作为初始值,这样就可以避免在浏览器中执行额外的设置步骤。
这是我使用 consul kv 命令导出的配置:
# consul kv export config/
[
{
"key": "config/",
"flags": 0,
"value": ""
},
{
"key": "config/drug2/",
"flags": 0,
"value": ""
},
{
"key": "config/drug2/data",
"flags": 0,
"value": "e30="
}
]
据我所知Docker Compose 无法在容器启动后运行自定义command/script。
作为解决方法,您可以编写一个 shell 脚本来执行 docker-compose up
,然后执行 运行s consul kv import
或 curl
命令来对抗 Consul 的 Transaction API 添加您要加载的数据。
我已经使用 docker compose 设置了 docker 配置。
这是 docker 撰写文件的一部分
version: '3'
networks:
pm:
services:
consul:
container_name: consul
image: consul:latest
restart: unless-stopped
ports:
- 8300:8300
- 8301:8301
- 8302:8302
- 8400:8400
- 8500:8500
- 8600:8600
environment:
CONSUL_LOCAL_CONFIG: >-
{
"bootstrap": true,
"server": true,
"node_name": "consul1",
"bind_addr": "0.0.0.0",
"client_addr": "0.0.0.0",
"bootstrap_expect": 1,
"ui": true,
"addresses" : {
"http" : "0.0.0.0"
},
"ports": {
"http": 8500
},
"log_level": "DEBUG",
"connect" : {
"enabled" : true
}
}
volumes:
- ./data:/consul/data
command: agent -server -bind 0.0.0.0 -client 0.0.0.0 -bootstrap-expect=1
然后通过浏览器设置键值
我想在新环境中添加 key/value 作为初始值,这样就可以避免在浏览器中执行额外的设置步骤。
这是我使用 consul kv 命令导出的配置:
# consul kv export config/
[
{
"key": "config/",
"flags": 0,
"value": ""
},
{
"key": "config/drug2/",
"flags": 0,
"value": ""
},
{
"key": "config/drug2/data",
"flags": 0,
"value": "e30="
}
]
据我所知Docker Compose 无法在容器启动后运行自定义command/script。
作为解决方法,您可以编写一个 shell 脚本来执行 docker-compose up
,然后执行 运行s consul kv import
或 curl
命令来对抗 Consul 的 Transaction API 添加您要加载的数据。