首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设置容器的自动发现?

如何设置容器的自动发现?
EN

Stack Overflow用户
提问于 2017-08-08 03:33:05
回答 1查看 505关注 0票数 0

我已经配置了docker-daemon,还添加了已修改的auto_conf。我应该如何传递%%host%%变量?

代码语言:javascript
复制
sudo docker run -d --name dd-agent \
  -v /var/run/docker.sock:/var/run/docker.sock:ro \
  -v /proc/:/host/proc/:ro \
  -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \
  -e API_KEY=XXXXXXXXXXXXXXX \
  -e SD_BACKEND=docker \
  -e SD_CONFIG_BACKEND=etcd \
  -e SD_BACKEND_HOST=XX.XXX.XX.XX \
  -e SD_BACKEND_PORT=XXXX \
  datadog/docker-dd-agent:latest

更改了etcd.yaml

代码语言:javascript
复制
docker_images:
  - image1

init_config:

instances:
  - url: "http://XX.XXX.XX.XX:XXXX"

但当我试着做

sudo docker exec -it dd-agent /etc/init.d/datadog-agent配置检查

代码语言:javascript
复制
2017-08-07 19:18:37,637 | WARNING | dd.collector | utils.service_discovery.abstract_sd_backend(abstract_sd_backend.py:66) | Failed to interpolate variable %%host%% for the url parameter. Dropping this configuration.

收集器日志显示

代码语言:javascript
复制
NotFound: 404 Client Error: Not Found ("No such image: sha256:6d13e6f1665c7abcd9edeba651a1f883ab68dbb73153d6cc55145add585373fc")
2017-08-08 17:16:11 UTC | ERROR | dd.collector | utils.dockerutil(dockerutil.py:548) | Exception getting docker image name
Traceback (most recent call last):
  File "/opt/datadog-agent/agent/utils/dockerutil.py", line 533, in image_name_extractor
    image_spec = self.client.inspect_image(image)
  File "/opt/datadog-agent/embedded/lib/python2.7/site-packages/docker/utils/decorators.py", line 21, in wrapped
    return f(self, resource_id, *args, **kwargs)
  File "/opt/datadog-agent/embedded/lib/python2.7/site-packages/docker/api/image.py", line 136, in inspect_image
    self._get(self._url("/images/{0}/json", image)), True
  File "/opt/datadog-agent/embedded/lib/python2.7/site-packages/docker/client.py", line 178, in _result
    self._raise_for_status(response)
  File "/opt/datadog-agent/embedded/lib/python2.7/site-packages/docker/client.py", line 173, in _raise_for_status
    raise errors.NotFound(e, response, explanation=explanation)
EN

回答 1

Stack Overflow用户

发布于 2017-08-08 07:56:57

嗯,所以你试图使用自动发现来找出dd-agent应该在哪个容器上运行etcd检查?您使用的是auto_conf文件方法吗?在这里,您想知道如何应用%%host%%模板变量?

如果这就是您感兴趣的,我认为您会希望将其添加到url行上的etcd.yaml中,如the example file中所示:

代码语言:javascript
复制
docker_images:
  - etcd

init_config:

instances:
  - url: "http://%%host%%:%%port_0%%"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45554437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档