github.com/ali-iotechsys/cli@v20.10.0+incompatible/cli/command/network/disconnect.go (about) 1 package network 2 3 import ( 4 "context" 5 6 "github.com/docker/cli/cli" 7 "github.com/docker/cli/cli/command" 8 "github.com/spf13/cobra" 9 ) 10 11 type disconnectOptions struct { 12 network string 13 container string 14 force bool 15 } 16 17 func newDisconnectCommand(dockerCli command.Cli) *cobra.Command { 18 opts := disconnectOptions{} 19 20 cmd := &cobra.Command{ 21 Use: "disconnect [OPTIONS] NETWORK CONTAINER", 22 Short: "Disconnect a container from a network", 23 Args: cli.ExactArgs(2), 24 RunE: func(cmd *cobra.Command, args []string) error { 25 opts.network = args[0] 26 opts.container = args[1] 27 return runDisconnect(dockerCli, opts) 28 }, 29 } 30 31 flags := cmd.Flags() 32 flags.BoolVarP(&opts.force, "force", "f", false, "Force the container to disconnect from a network") 33 34 return cmd 35 } 36 37 func runDisconnect(dockerCli command.Cli, opts disconnectOptions) error { 38 client := dockerCli.Client() 39 40 return client.NetworkDisconnect(context.Background(), opts.network, opts.container, opts.force) 41 }