package client import ( "context" "github.com/moby/moby/api/types/network" ) // NetworkDisconnectOptions represents the data to be used to disconnect a container // from the network. type NetworkDisconnectOptions struct { Container string Force bool } // NetworkDisconnectResult represents the result of a NetworkDisconnect operation. type NetworkDisconnectResult struct { // Currently empty; placeholder for future fields. } // NetworkDisconnect disconnects a container from an existent network in the docker host. func (cli *Client) NetworkDisconnect(ctx context.Context, networkID string, options NetworkDisconnectOptions) (NetworkDisconnectResult, error) { networkID, err := trimID("network", networkID) if err != nil { return NetworkDisconnectResult{}, err } containerID, err := trimID("container", options.Container) if err != nil { return NetworkDisconnectResult{}, err } req := network.DisconnectRequest{ Container: containerID, Force: options.Force, } resp, err := cli.post(ctx, "/networks/"+networkID+"/disconnect", nil, req, nil) defer ensureReaderClosed(resp) return NetworkDisconnectResult{}, err }