Docker创建Consul并添加权限控制

一、部署Consul

1、拉取镜像:

bash 复制代码
docker pull consul:<consul-version>

2、运行

bash 复制代码
docker run --name consul1 -p 8300:8300/tcp -p 8301:8301/tcp -p 8301:8301/udp -p 8302:8302/tcp -p 8302:8302/udp -p 8500:8500 -p 8600:8600/tcp -p 8600:8600/udp -v /home/docker/consul/config:/consul/config -itd consul:<consul-version> agent -dev -client 0.0.0.0

3、创建配置文件

创建文件夹

bash 复制代码
mkdir /home/docker/consul/config -p

创建文件

bash 复制代码
cd /home/docker/consul/config

创建config.json

bash 复制代码
vim config.json

填写如下内容:

python 复制代码
{
  "datacenter": "dc1",
  "acl": {
    "enabled": true,
    "default_policy": "deny",
    "enable_token_persistence": true,
    "tokens": {
      "master": "master-token",
      "agent": "agent-token"
    }
  },
  "server": true,
  "bootstrap_expect": 1,
  "ui": true
}

4、创建ACL Token

http://<ip>:<port>进入图形界面

进入ACL页面

创建一个Token,并进入Token详细,点击Use按钮应用这个Token

5、Spring Consul中设置Token

进入对应工程的yml配置文件,在Consul配置中添加如下配置:

Groovy 复制代码
spring:
  cloud:
    consul:
      host: ${CONSUL_SERVER_HOST:192.168.193.199}
      port: ${CONSUL_SERVER_PORT:8500}
      acl-token: 00000000-0000-0000-0000-000000000000(你的Token)

二、设置Spring Consul

1、添加Actuator依赖

XML 复制代码
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

2、添加Actuator配置

Groovy 复制代码
spring:
  cloud:
    consul:
      host: ${CONSUL_SERVER_HOST:192.168.193.199}
      port: ${CONSUL_SERVER_PORT:8500}
      acl-token: 00000000-0000-0000-0000-000000000000(你的Token)
      discovery:
        service-name: ${spring.application.name}
        health-check-url: http://${CONSUL_HEALTH_HOST:127.0.0.1}:${UI_CONFIGURATION_SERVICE_PORT:8060}/actuator/health
相关推荐
Lvan的前端笔记19 小时前
docker:每个前端项目一个 Nginx 容器还是只有一个Nginx容器
前端·nginx·docker
sbjdhjd1 天前
云安全 | Docker 容器逃逸复盘(三):docker.sock 挂载与 Docker-in-Docker 风险
经验分享·网络安全·docker·云原生·容器·kubernetes·云安全
热爱Liunx的丘丘人1 天前
1、什么是K8s
云原生·容器·kubernetes
帷幕落秋1 天前
Docker的两种安装
运维·docker·容器
工业一体机老司机1 天前
工业一体机选购后的系统部署:Ubuntu下Docker容器化运行与GPIO配置
linux·ubuntu·docker·人机交互
fengkai45451 天前
十二、Redis -2
运维·数据库·redis·容器
DolitD1 天前
3D应用多实例并发中的GPU隔离技术路径分析
容器·gru·接口隔离原则
姜鱼问生1 天前
docker exec 排查容器问题:从日志到进程
运维·网络·数据库·docker·容器
人生百态,人生如梦1 天前
Ubuntu在低版本下使用ccswitch+claudecode(CCSwitch+Docker+Claude)连调教程
linux·ubuntu·docker·claudecode·ccswitch
程序员老赵1 天前
Docker 部署 OpenViking:轻松搭建 AI Agent 上下文数据库平台
docker·开源·agent