如何在所有容器上执行 Docker 查询命令?
How to execute Docker query command on all containers?
在 docker 中,我可以在特定容器上执行 docker inspect -f "{{ .NetworkSettings.IPAddress }}" CONTAINER
到 运行 命令。
我需要做的是像
docker inspect -f "{{ .NetworkSettings.IPAddress }}" all
或
docker inspect -f "{{ .NetworkSettings.IPAddress }}" *
运行 对所有容器的命令,而不是明确提及它们的名称?
它也与其他 docker 命令有关。没有bash脚本有没有这种方法?
您可以将多个容器列出到一个 docker inspect
。
docker inspect [OPTIONS] CONTAINER|IMAGE [CONTAINER|IMAGE...]
但是列出这些容器的唯一方法是通过 bash $(sudo docker ps -aq)
。
例如:
docker inspect --format='{{.Name}}' $(sudo docker ps -aq)
docker inspect -f "{{ .NetworkSettings.IPAddress }}" $(sudo docker ps -aq)
OP f1yegor proposes :
all=$(sudo docker ps -aq) docker inspect -f "{{ .NetworkSettings.IPAddress }}" $all
在 docker 中,我可以在特定容器上执行 docker inspect -f "{{ .NetworkSettings.IPAddress }}" CONTAINER
到 运行 命令。
我需要做的是像
docker inspect -f "{{ .NetworkSettings.IPAddress }}" all
或
docker inspect -f "{{ .NetworkSettings.IPAddress }}" *
运行 对所有容器的命令,而不是明确提及它们的名称?
它也与其他 docker 命令有关。没有bash脚本有没有这种方法?
您可以将多个容器列出到一个 docker inspect
。
docker inspect [OPTIONS] CONTAINER|IMAGE [CONTAINER|IMAGE...]
但是列出这些容器的唯一方法是通过 bash $(sudo docker ps -aq)
。
例如:
docker inspect --format='{{.Name}}' $(sudo docker ps -aq)
docker inspect -f "{{ .NetworkSettings.IPAddress }}" $(sudo docker ps -aq)
OP f1yegor proposes
all=$(sudo docker ps -aq) docker inspect -f "{{ .NetworkSettings.IPAddress }}" $all