如何获取用户定义的docker网络中所有容器的列表?
我想获取特定用户定义的docker网络的每个容器的所有提交哈希值。
答案 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)
答案 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