如何在所有容器上执行Docker查询命令?

f1y*_*gor 6 docker

在docker中,我可以docker inspect -f "{{ .NetworkSettings.IPAddress }}" CONTAINER在特定容器上运行命令.

我需要的是做一些类似的事情 docker inspect -f "{{ .NetworkSettings.IPAddress }}" all或者 docker inspect -f "{{ .NetworkSettings.IPAddress }}" * 在所有容器上运行命令,而不是明确提及它们的名字?

它还涉及其他docker命令.有没有bash脚本的方式?

Von*_*onC 10

您可以将多个容器列出到a docker inspect.

docker inspect [OPTIONS] CONTAINER|IMAGE [CONTAINER|IMAGE...]
Run Code Online (Sandbox Code Playgroud)

但列出这些容器的唯一方法是通过bash $(sudo docker ps -aq).

例如:

docker inspect --format='{{.Name}}' $(sudo docker ps -aq)
docker inspect -f "{{ .NetworkSettings.IPAddress }}" $(sudo docker ps -aq)
Run Code Online (Sandbox Code Playgroud)

f1yegor OP提出的意见:

all=$(sudo docker ps -aq) docker inspect -f "{{ .NetworkSettings.IPAddress }}" $all 
Run Code Online (Sandbox Code Playgroud)