本文整理汇总了Golang中github.com/docker/engine-api/client.Client.NetworkInspect方法的典型用法代码示例。如果您正苦于以下问题:Golang Client.NetworkInspect方法的具体用法?Golang Client.NetworkInspect怎么用?Golang Client.NetworkInspect使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/docker/engine-api/client.Client
的用法示例。
在下文中一共展示了Client.NetworkInspect方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: getIntNames
func getIntNames(netID string, docker *dockerclient.Client) (*intNames, error) {
net, err := docker.NetworkInspect(context.Background(), netID)
if err != nil {
log.Errorf("Error getting networks: %v", err)
return nil, err
}
names := &intNames{}
if net.Driver != "vxlan" {
log.Errorf("Network %v is not a vxlan network", netID)
return nil, errors.New("Not a vxlan network")
}
names.VxlanName = "vx_" + netID[:12]
// get interface names from options first
for k, v := range net.Options {
if k == "vxlanName" {
names.VxlanName = v
}
}
return names, nil
}
示例2: getGateway
func getGateway(netID string, docker dockerclient.Client) (string, error) {
net, err := docker.NetworkInspect(context.Background(), netID)
if err != nil {
log.Errorf("Error inspecting network: %v", err)
return "", err
}
for _, config := range net.IPAM.Config {
if config.Gateway != "" {
return config.Gateway, nil
}
}
return "", nil
}
示例3: PurgeOnionNetwork
// PurgeOnionNetwork purges an onion network, disconnecting all containers with
// it. We assume that nobody is adding containers to this network.
func PurgeOnionNetwork(cli *client.Client, network string) error {
inspect, err := cli.NetworkInspect(network)
if err != nil {
return err
}
for container, _ := range inspect.Containers {
log.Infof("purge network %s: disconnecting container %s", network, container)
if err := cli.NetworkDisconnect(network, container, true); err != nil {
return err
}
}
return cli.NetworkRemove(network)
}