【问题标题】:How to pass parameters while creating consul client agent inside a Docker container?在 Docker 容器中创建领事客户端代理时如何传递参数?
【发布时间】:2016-06-21 23:41:07
【问题描述】:

我在 Docker 容器中运行 Consul 客户端代理。 我创建了一个 docker-compose 文件,如下所示:

agent:
   hostname: sample.host.com
   container_name: consul_agent
   image: privatedockerregistry/consul-agent:0.6.4
   restart: always
   environment:
     - SERVICE_IGNORE=always
   ports:
     - 8300:8300
     - 8301:8301
     - 8301:8301/udp
     - 8302:8302
     - 8302:8302/udp
     - 8400:8400
   command: --join 11.201.150.108 --join 11.201.342.203 -dc dc_consul -advertise 11.201.343.213 

请告诉我如何在 docker-compose 中传递以下选项:

  "enable_syslog": true,
  "disable_update_check": true,
  "domain": "consul.domain.com",


  "ports": {
    "dns": 8600,
    "rpc": 8400,
    "serf_lan": 8301,
    "serf_wan": 8302,
    "server": 8300,
    "https": -1,
    "http": 8700
  },
  "datacenter": "consul_dc",
  "acl_datacenter": "consul_dc",
  "acl_default_policy": "deny",
  "acl_master_token": "04asdsec-327d-rd4f-b277-d6a20b80f683"

【问题讨论】:

    标签: docker docker-compose dockerfile consul consul-template


    【解决方案1】:

    将它们映射到环境变量?

    environment:
        -PORTS_DNS=8600
        -PORTS_RPC=8400
    

    在另一边重建它们?

    如果您不想这样做,那么也许您需要添加一个配置服务器,例如 zookeeper 或 spring 云配置服务器:https://blog.pivotal.io/pivotal-cloud-foundry/products/app-configuration-management-with-config-servers-in-cloud-foundry

    【讨论】:

    • 我已将它们映射到环境变量。但是,当 i cat docker 容器中的 config.json 文件时,我看不到 ` "ports" : { "dns" : 8600, "http" : 8500, "https" : -1, "rpc “:8400,“serf_lan”:8301,“serf_wan”:8302,“服务器”:8300}`
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-01
    • 2017-04-08
    • 2021-02-22
    • 1970-01-01
    • 2017-12-21
    • 1970-01-01
    • 2019-10-23
    相关资源
    最近更新 更多