Execute o seguinte comando no diretório onde docker-compose.yml reside:
docker_network_ids.sh
docker-compose -f $(find . -name 'docker-compose.yml' -type f) ps -q | xargs -I {} docker inspect --format '{{.Name}}: {{range .NetworkSettings.Networks}}{{.NetworkID}}{{end}}' {}Saída de exemplo:
docker_network_ids_output.txt
/myservice-server-1: 3b533d2074e7230426adf0d269b399d356066130719ffd3ef68d6d492f3757f6
/myservice-ui-1: 3b533d2074e7230426adf0d269b399d356066130719ffd3ef68d6d492f3757f6Detalhamento do comando:
docker-compose -f $(find . -name 'docker-compose.yml' -type f) ps -q: Esta parte encontra todos os arquivosdocker-compose.ymlno diretório atual e seus subdiretórios e executadocker-compose ps -qpara cada um deles. Este comando lista os IDs dos containers em execução para cada serviço definido nos arquivos Docker Compose.xargs -I {} docker inspect --format '{{.Name}}: {{range .NetworkSettings.Networks}}{{.NetworkID}}{{end}}' {}: Esta parte pega os IDs de container da saída do passo anterior e executadocker inspectem cada um deles. Ele extrai o nome do container e sua informação de interface Ethernet usando um formato personalizado. Ele formata a saída como “NomeDoServico: NetworkID.”
Check out similar posts by category:
Docker
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow