jq

jq

  • Associando containers com IPs

    Essa semana tivemos um problema de alguém rodando um container que estava marretando uma das placas NVIDIA RTX 6000 que temos na firma.

    Pelo ollama podiamos ver qual era o IP usando o modelo, mas não sabiamos qual era o container com esse IP.

    Então acabei fazendo um comando no shell que mostrou isso usando o próprio comando docker e jq.

    
    for container in $(docker ps --format json | jq -r .Names)
      do echo -n "$container: "
      docker inspect $container | jq -r '.[0].NetworkSettings.Networks | .. | objects | select(has("IPAddress")) | .IPAddress'
    done
    

    Assim o restulado foi mais ou menos esse aqui:

    
    helio@nvidia-server:~$ for container in $(docker ps --format json | jq -r .Names)
    > do echo -n "$container: "
    > docker inspect $container | jq -r '.[0].NetworkSettings.Networks | .. | objects | select(has("IPAddress")) | .IPAddress'
    > done
    rabbitmq-1: 172.24.0.4
    ollama: 172.21.0.2
    vllm-proxy-1: 172.23.0.2
    vllm-qwen36-27b-1: 172.23.0.3
    vllm-qwen36-35b-1: 172.23.0.4
    postgres: 172.17.0.3
    mcp-1: 172.24.0.3
    redis-1: 172.24.0.5
    postgres-1: 172.24.0.7
    mlflow-server: 172.17.0.9
    ollama-router-backend: 172.17.0.8
    helio_development: 172.17.0.4
    anna_development: 172.17.0.5
    watchtower: 172.17.0.2
    nvidia_metrics: 172.17.0.10
    portainer_agent: 172.17.0.6
    

    O culpado não está nessa lista.  Mas era um agente que estava devorando a GPU.