【问题标题】:How use /var/run/docker.sock inside running docker-compose container?如何在运行的 docker-compose 容器中使用 /var/run/docker.sock?
【发布时间】:2019-07-14 15:08:16
【问题描述】:

我有这样的 docker-compose.yml:

version: '3'
services:
  zabbix-agent:
    image: zabbix/zabbix-agent
    ports:
     - "10050:10050"
     - "10051:10051"
    volumes:
     - /var/run/docker.sock:/var/run/docker.sock
     - /etc/localtime:/etc/localtime:ro
     - ./zbx_env/etc/zabbix/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d:ro
     - ./zbx_env/var/lib/zabbix/modules:/var/lib/zabbix/modules:ro
     - ./zbx_env/var/lib/zabbix/enc:/var/lib/zabbix/enc:ro
     - ./zbx_env/var/lib/zabbix/ssh_keys:/var/lib/zabbix/ssh_keys:ro
    links:
     - db
    env_file:
     - .env_agent
    user: root
    privileged: true
    pid: "host"
    stop_grace_period: 5s
    labels:
     com.zabbix.description: "Zabbix agent"
     com.zabbix.company: "Zabbix SIA"
     com.zabbix.component: "zabbix-agentd"
     com.zabbix.os: "ubuntu"

  postgres-server:
   image: postgres:latest
   volumes:
    - ./zbx_env/var/lib/postgresql/data:/var/lib/postgresql/data:rw
   env_file:
    - .env_db_pgsql
   user: root
   stop_grace_period: 1m

在 zabbix-agent 中,我使用 UserParameter,如下所示:

...
UserParameter=pgsql.ping[*],/bin/echo -e "\\\timing \n select 1" | psql -qAtX $1 | tail -n 1 |cut -d' ' -f2|sed 's/,/./'
...

当我从 zabbix-server 调用这个用户参数时,我有关于不存在 psql 的错误。这是正确的 - 在容器 'zabbix-agent' psql 中不存在。

如何从 'zabbix-agent' 运行包含在 'postgres-server' 中的 psql 并获得结果?

【问题讨论】:

    标签: postgresql docker-compose zabbix unix-socket


    【解决方案1】:

    只要运行:

    curl -H 'Content-Type: application/json' --unix-socket /var/run/docker.sock localhost:4243/containers/zabbix-agent/exec -d '{"Cmd":["date"]}'
    

    如何使请求看起来像这样: https://docs.docker.com/develop/sdk/examples/

    API 参考如下: https://docs.docker.com/engine/api/v1.27/#operation/ContainerExec

    【讨论】:

      猜你喜欢
      • 2017-08-13
      • 2019-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-16
      • 2020-01-03
      • 2019-08-14
      相关资源
      最近更新 更多