Has anyone been able to get glances to show container metrics when going through docker socket proxy?

I tried enabling every flag listed on the socket proxy GitHub but glances still won’t show containers. It reports them just fine if I go directly to the socket.

Thanks!

  • psychowood@alien.topB
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 year ago

    Since I was feeling bad for giving the wrong answer in another comment, I spin up a docker socket proxy and did some test :)

    The main points are:

    • add DOCKER_HOST variable pointing to your tcp socket
    • add CONTAINERS=1 variable in docker-socker-proxy to allow reading containers, otherwise it will fails silently (unless you run glances with -d) with a 403

    Here’s a sample compose file, adjust to your needs. Please note that the tcp socket is not exposed outside of admin_net network and that glances does not have access to the docker.sock socket:

        version: '3.3'
        services:
          admin-glances:
            container_name: glances
            restart: always
            ports:
              - '61208:61208'
            environment:
              - GLANCES_OPT=-w
              - DOCKER_HOST=tcp://dockerproxy:2375
            volumes:
              - './glances/glances.conf:/glances/conf/glances.conf'
        #      - '/var/run/docker.sock:/var/run/docker.sock:ro'
            pid: host
            image: 'nicolargo/glances:latest-full'
            networks:
              admin_net:
        
          admin-docker-socket-proxy:
            container_name: dockerproxy
            hostname: dockerproxy
            image: tecnativa/docker-socket-proxy
            environment:
              - CONTAINERS=1
            volumes:
              - '/var/run/docker.sock:/var/run/docker.sock:ro'
        #    ports:
        #      - '2375:2375'
            networks:
              admin_net:
        
        networks:
          admin_net:
            name: admin_net
    
    • Volitanic@alien.topOPB
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      OMG…Instead of the env variable DOCKER_HOST: tcp://dockerproxy:2375 I had hostname: tcp://dockerproxy:2375 in there which only changed the website title. So dumb. Everything else was the same as your example.

      Thanks for the help!