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
相关推荐
赵丙双8 分钟前
多网卡微服务注册 IP/host 问题
微服务·eureka·nacos·consul·多网卡
yuzhuanhei3 小时前
docker常用命令
运维·docker·容器
我叫张小白。3 小时前
Dify系列(一):平台安装部署+界面操作
docker·ai·语言模型·大模型·dify·智能体
anarckk3 小时前
docker volume 导入导出命令
运维·docker·容器
Brandon汐3 小时前
从0开始搭建一主两节点k8s集群对接Ceph集群
ceph·容器·kubernetes
杨浦老苏4 小时前
音乐和有声读物播放器AudioDock
docker·群晖·多媒体·音乐·有声读物
gordon~95 小时前
Windows 11 wsl 中安装的Ubuntu-24.04 中装docker
windows·ubuntu·docker
F1FJJ5 小时前
Shield CLI 命令全解析:15 个命令覆盖所有远程访问场景
网络·数据库·网络协议·容器·开源软件
进击切图仔5 小时前
Docker + tmux + ROS:持久化的机器人开发环境
docker·容器·机器人