docker-compose 部署 consul v1.15.2

发布时间 2023-04-07 11:11:41作者: 小吉猫

server1配置文件

{
    "node_name": "consul-server1",
    "datacenter": "zhongtai",
    "domain": "consul",
    "server": true,
    "log_level": "INFO",
    "ui_config": {
        "enabled": true
    },
    "auto_encrypt": {
        "allow_tls": true    
    },
    "connect": {
        "enabled": true
    },
    "performance": {
        "raft_multiplier": 1
    },
    "data_dir": "/consul/data",
    "addresses": {
        "grpc": "127.0.0.1",
        "http": "0.0.0.0"
    },
    "retry_join":[
        "consul-server2",
        "consul-server3"
    ],
    "encrypt": "sbfg+8FFJT0JHoIpTOsQMJgv5Xmnl/Th9rZt+YfXu8I=",
    "ports": {
        "grpc": 8502,
        "grpc_tls": 8503
        "http": 8500,
        "https": 8501
    },
    "tls": {
        "defaults": {
            "ca_file": "/consul/config/certs/consul-agent-ca.pem",
            "cert_file": "/consul/config/certs/zhongtai-server-consul-0.pem",
            "key_file": "/consul/config/certs/zhongtai-server-consul-0-key.pem",
            "verify_incoming": true,
            "verify_outgoing": true
        },
        "internal_rpc": {
            "verify_server_hostname": true
        }
    }
}

docker-compose.yml

version: '3.9'

services:

  consul-server1:
    image: hashicorp/consul:1.15.2
    container_name: consul-server1
    environment:
    - TZ=Asia/Shanghai
    restart: always
    extra_hosts:
      - "consul-server1:172.16.18.16" 
    network_mode: host
    volumes:
      - ./server1.json:/consul/config/server1.json:ro
      - ./certs/:/consul/config/certs/:ro
      - ./logs/:/consul/logs/
      - ./data/consul-server1:/consul/data
      #- ./consul-acl.json:/consul/config/consul-acl.json:ro
    #ports:
    #  - "8500:8500"
    #  - "8600:8600/tcp"
    #  - "8600:8600/udp"
    command: "agent -bootstrap-expect=3 -bind=172.16.18.16 -client=0.0.0.0 -log-file=/consul/logs/consul-01.log"