如何在用户定义的docker网络中列出所有容器?

时间:2017-06-23 15:12:07

标签: docker

如何获取用户定义的docker网络中所有容器的列表?

我想获取特定用户定义的docker网络的每个容器的所有提交哈希值。

6 个答案:

答案 0 :(得分:8)

docker network inspect -f '{{ range $key, $value := .Containers }}{{ printf "%s\n" $key }}{{ end }}' <network-id>

将为属于network-id网络的容器哈希值提供换行符分隔列表

答案 1 :(得分:2)

您可以列出所有网络:

docker network ls

检查一个网络以查看其主机(容器)

docker network inspect <network-id>

您可以查看容器连接到哪个网络以检查该容器:

docker inspect <container-id>

文档中的更多信息:https://docs.docker.com/engine/userguide/networking/work-with-networks/#create-networks

答案 2 :(得分:0)

这是我使用python's json parsing的bash命令

docker network inspect YOUR_NETWORK_ID \
    | python -c "import sys, json; print([v['Name'] for k,v in json.load(sys.stdin)[0]['Containers'].items()])"

样本输出

[u'container1', u'container2']

答案 3 :(得分:0)

使用纯bash和不使用python的另一种方法-对我来说更容易记住

<div class="shape triangle blanchedalmond"></div>

样本输出

docker network inspect YOUR_NETWORK_ID | grep Name | tail -n +2 | cut -d':' -f2 | tr -d ',"'

答案 4 :(得分:0)

解决方案也可以很简单,如下所示。仅列出容器名称

docker网络检查网络ID | grep“名称” | awk -F“:”'{print $ 2}'| tr -d',“' enter image description here

答案 5 :(得分:0)

使用自定义网络列出容器名称的简单命令是:

 constructor(){
        super();
        this.state={
           showDiv: null
        }
    }
    
    
 render(){
        return(
            <div>
            
<ul>
<li onClick={()=>{this.setState({showDiv:'first'})}}>First Btn</li>
<li onClick={()=>{this.setState({showDiv:'second'})}}>Second Btn</li>
<li onClick={()=>{this.setState({showDiv:'third'})}}>Third Btn</li>
<li onClick={()=>{this.setState({showDiv:'fourth'})}}>Fourth Btn</li>
</ul>
            

{
    this.state.showDiv==='first' ?
    <div>first Div</div>
:null        
}

{
   this.state.showDiv==='second'?
    <div>second Div</div>
:null        
}

{
    this.state.showDiv==='third'?
    <div>third Div</div>
:null        
}

{
    this.state.showDiv==='fourth'?
    <div>fourth Div</div>
:null        
}


            </div>
)
}

此命令将列出网络名称和与其连接的容器,如下所示:

docker inspect network-name | grep Name