如何在Docker容器中创建consul客户端代理时传递参数?

时间:2016-06-21 23:41:08

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

我在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"

1 个答案:

答案 0 :(得分:0)

将它们映射到环境变量?

environment:
    -PORTS_DNS=8600
    -PORTS_RPC=8400

在另一边重建它们?

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