package client import ( "context" "github.com/moby/moby/api/types/network" ) // NetworkConnectOptions represents the data to be used to connect a container to the // network. type NetworkConnectOptions struct { Container string EndpointConfig *network.EndpointSettings } // NetworkConnectResult represents the result of a NetworkConnect operation. type NetworkConnectResult struct { // Currently empty; placeholder for future fields. } // NetworkConnect connects a container to an existent network in the docker host. func (cli *Client) NetworkConnect(ctx context.Context, networkID string, options NetworkConnectOptions) (NetworkConnectResult, error) { networkID, err := trimID("network", networkID) if err != nil { return NetworkConnectResult{}, err } containerID, err := trimID("container", options.Container) if err != nil { return NetworkConnectResult{}, err } nc := network.ConnectRequest{ Container: containerID, EndpointConfig: options.EndpointConfig, } resp, err := cli.post(ctx, "/networks/"+networkID+"/connect", nil, nc, nil) defer ensureReaderClosed(resp) return NetworkConnectResult{}, err }