ctrctl

package module
v0.10.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 9, 2024 License: MIT Imports: 10 Imported by: 1

README

ctrctl

Go Reference

Package ctrctl wraps container CLIs.

Example

package main

import "lesiw.io/ctrctl"

func main() {
    ctrctl.Cli = []string{"docker"} // or {"podman"}, or {"lima", "nerdctl"}...

    id, err := ctrctl.ContainerRun(
        &ctrctl.ContainerRunOpts{
            Detach: true,
            Tty:    true,
        },
        "alpine",
        "cat",
    )
    if err != nil {
        panic(err)
    }

    out, err := ctrctl.ContainerExec(nil, id, "echo", "Hello from alpine!")
    if err != nil {
        panic(err)
    }
    fmt.Println(out)

    _, err = ctrctl.ContainerRm(&ctrctl.ContainerRmOpts{Force: true}, id)
    if err != nil {
        panic(err)
    }
}

Motivation

Most container engines ship alongside a CLI that provides an experience similar to that of Docker on Linux. In the pursuit of this goal, they often hide several layers of indirection through internal APIs and VM boundaries while maintaining argument-for-argument compatibility with the Docker CLI.

Since the CLI is the primary interface that users and automation scripts interact with, it’s also the most likely interface where bugs will be noticed and, hopefully, fixed. Conversely, the primary consumer of engines’ internal APIs are their own command lines and a handful of plugins, so issues and documentation gaps in the API layer are less likely to be noticed and prioritized.

For these reasons, Docker-compatible CLIs serve as excellent abstraction points for projects that manage containers. docker, nerdctl, podman, and even kubectl have more in common with one another than any of their internal APIs or SDKs do. However, working with exec.Command is verbose and lacks in-editor completion for container commands.

ctrctl fills this gap by providing CLI wrapper functions and option structs automatically generated from the Dockermentation. While no container engine implements Docker’s entire interface, generating ctrctl wrappers from Docker ensures that all potential shared functionality will be covered.

To switch between docker and other Docker-compatible CLIs, just set ctrctl.Cli to the appropriate value.

Simple usage

All wrapper functions take an optional struct as the first argument. The format of the option struct is always CommandOpts, where Command is the name of the function being called.

Commands return a string containing stdout and an optional error. error may be of type ctrctl.CliError, which contains a Stderr field for debugging purposes.

Set ctrctl.Verbose = true to stream the exact commands being run, along with their output, to standard out. The format is similar to using set +x in a shell script.

Advanced usage

All wrapper functions’ options structs have a Cmd field. Set this to an &exec.Cmd to override the default command behavior.

Note that setting Cmd.Stdout or Cmd.Stderr to an io.Writer will disable automatic capture of those outputs. Bypassing capture allows the underlying container CLI to work in interactive mode when they are attached to os.Stdout and os.Stderr, respectively.

In this example, standard streams are overridden to expose the output of the ImagePull to the end user, then drop them into an interactive shell in an alpine container. Once they exit the shell, the container is removed.

package main

import (
    "os"
    "os/exec"

    "lesiw.io/ctrctl"
)

func main() {
    _, err := ctrctl.ImagePull(
        &ctrctl.ImagePullOpts{
            Cmd: &exec.Cmd{
                Stdout: os.Stdout,
                Stderr: os.Stderr,
            },
        },
        "alpine:latest",
    )
    if err != nil {
        panic(err)
    }

    id, err := ctrctl.ContainerRun(
        &ctrctl.ContainerRunOpts{
            Detach: true,
            Tty:    true,
        },
        "alpine",
        "cat",
    )
    if err != nil {
        panic(err)
    }

    _, _ = ctrctl.ContainerExec(
        &ctrctl.ContainerExecOpts{
            Cmd: &exec.Cmd{
                Stdin:  os.Stdin,
                Stdout: os.Stdout,
                Stderr: os.Stderr,
            },
            Interactive: true,
            Tty:         true,
        },
        id,
        "/bin/sh",
    )

    _, err = ctrctl.ContainerRm(&ctrctl.ContainerRmOpts{Force: true}, id)
    if err != nil {
        panic(err)
    }
}

Regenerating the interface

Install gofmt and goimports, then run go generate ./...

Documentation

Overview

Package ctrctl wraps container CLIs.

Index

Constants

This section is empty.

Variables

View Source
var Cli = []string{"docker"}

Cli is the command prefix.

View Source
var Verbose bool

Verbose mode prints the commands being run and streams their output to the terminal.

Functions

func Attach

func Attach(opts *AttachOpts, container string) (string, error)

Attach local standard input, output, and error streams to a running container.

func Build

func Build(opts *BuildOpts, pathUrl string) (string, error)

Build an image from a Dockerfile.

func Builder

func Builder(opts *BuilderOpts) (string, error)

Manage builds.

func BuilderBuild

func BuilderBuild(opts *BuilderBuildOpts, pathUrl string) (string, error)

Build an image from a Dockerfile.

func BuilderPrune

func BuilderPrune(opts *BuilderPruneOpts) (string, error)

Remove build cache.

func Checkpoint

func Checkpoint(opts *CheckpointOpts) (string, error)

Manage checkpoints.

func CheckpointCreate

func CheckpointCreate(opts *CheckpointCreateOpts, container string, checkpoint string) (string, error)

Create a checkpoint from a running container.

func CheckpointLs

func CheckpointLs(opts *CheckpointLsOpts, container string) (string, error)

List checkpoints for a container.

func CheckpointRm

func CheckpointRm(opts *CheckpointRmOpts, container string, checkpoint string) (string, error)

Remove a checkpoint.

func Commit

func Commit(opts *CommitOpts, container string, repositoryTag string) (string, error)

Create a new image from a container's changes.

func Config

func Config(opts *ConfigOpts) (string, error)

Manage Swarm configs.

func ConfigCreate

func ConfigCreate(opts *ConfigCreateOpts, config string, file string) (string, error)

Create a config from a file or STDIN.

func ConfigInspect

func ConfigInspect(opts *ConfigInspectOpts, config ...string) (string, error)

Display detailed information on one or more configs.

func ConfigLs

func ConfigLs(opts *ConfigLsOpts) (string, error)

List configs.

func ConfigRm

func ConfigRm(opts *ConfigRmOpts, config ...string) (string, error)

Remove one or more configs.

func Container

func Container(opts *ContainerOpts) (string, error)

Manage containers.

func ContainerAttach

func ContainerAttach(opts *ContainerAttachOpts, container string) (string, error)

Attach local standard input, output, and error streams to a running container.

func ContainerCommit

func ContainerCommit(opts *ContainerCommitOpts, container string, repositoryTag string) (string, error)

Create a new image from a container's changes.

func ContainerCp

func ContainerCp(opts *ContainerCpOpts, srcpath string, dstpath string) (string, error)

Copy files/folders between a container and the local filesystem.

func ContainerCreate

func ContainerCreate(opts *ContainerCreateOpts, image string, command string, arg ...string) (string, error)

Create a new container.

func ContainerDiff

func ContainerDiff(opts *ContainerDiffOpts, container string) (string, error)

Inspect changes to files or directories on a container's filesystem.

func ContainerExec

func ContainerExec(opts *ContainerExecOpts, container string, command string, arg ...string) (string, error)

Execute a command in a running container.

func ContainerExport

func ContainerExport(opts *ContainerExportOpts, container string) (string, error)

Export a container's filesystem as a tar archive.

func ContainerInspect

func ContainerInspect(opts *ContainerInspectOpts, container ...string) (string, error)

Display detailed information on one or more containers.

func ContainerKill

func ContainerKill(opts *ContainerKillOpts, container ...string) (string, error)

Kill one or more running containers.

func ContainerLogs

func ContainerLogs(opts *ContainerLogsOpts, container string) (string, error)

Fetch the logs of a container.

func ContainerLs

func ContainerLs(opts *ContainerLsOpts) (string, error)

List containers.

func ContainerPause

func ContainerPause(opts *ContainerPauseOpts, container ...string) (string, error)

Pause all processes within one or more containers.

func ContainerPort

func ContainerPort(opts *ContainerPortOpts, container string, privatePortProto string) (string, error)

List port mappings or a specific mapping for the container.

func ContainerPrune

func ContainerPrune(opts *ContainerPruneOpts) (string, error)

Remove all stopped containers.

func ContainerRename

func ContainerRename(opts *ContainerRenameOpts, container string, newName string) (string, error)

Rename a container.

func ContainerRestart

func ContainerRestart(opts *ContainerRestartOpts, container ...string) (string, error)

Restart one or more containers.

func ContainerRm

func ContainerRm(opts *ContainerRmOpts, container ...string) (string, error)

Remove one or more containers.

func ContainerRun

func ContainerRun(opts *ContainerRunOpts, image string, command string, arg ...string) (string, error)

Create and run a new container from an image.

func ContainerStart

func ContainerStart(opts *ContainerStartOpts, container ...string) (string, error)

Start one or more stopped containers.

func ContainerStats

func ContainerStats(opts *ContainerStatsOpts, container ...string) (string, error)

Display a live stream of container(s) resource usage statistics.

func ContainerStop

func ContainerStop(opts *ContainerStopOpts, container ...string) (string, error)

Stop one or more running containers.

func ContainerTop

func ContainerTop(opts *ContainerTopOpts, container string, psOptions string) (string, error)

Display the running processes of a container.

func ContainerUnpause

func ContainerUnpause(opts *ContainerUnpauseOpts, container ...string) (string, error)

Unpause all processes within one or more containers.

func ContainerUpdate

func ContainerUpdate(opts *ContainerUpdateOpts, container ...string) (string, error)

Update configuration of one or more containers.

func ContainerWait

func ContainerWait(opts *ContainerWaitOpts, container ...string) (string, error)

Block until one or more containers stop, then print their exit codes.

func Context

func Context(opts *ContextOpts) (string, error)

Manage contexts.

func ContextCreate

func ContextCreate(opts *ContextCreateOpts, context string) (string, error)

Create a context.

func ContextExport

func ContextExport(opts *ContextExportOpts, context string, file string) (string, error)

Export a context to a tar archive FILE or a tar stream on STDOUT.

func ContextImport

func ContextImport(opts *ContextImportOpts, context string, file string) (string, error)

Import a context from a tar or zip file.

func ContextInspect

func ContextInspect(opts *ContextInspectOpts, context ...string) (string, error)

Display detailed information on one or more contexts.

func ContextLs

func ContextLs(opts *ContextLsOpts) (string, error)

List contexts.

func ContextRm

func ContextRm(opts *ContextRmOpts, context ...string) (string, error)

Remove one or more contexts.

func ContextShow

func ContextShow(opts *ContextShowOpts) (string, error)

Print the name of the current context.

func ContextUpdate

func ContextUpdate(opts *ContextUpdateOpts, context string) (string, error)

Update a context.

func ContextUse

func ContextUse(opts *ContextUseOpts, context string) (string, error)

Set the current docker context.

func Cp

func Cp(opts *CpOpts, srcpath string, dstpath string) (string, error)

Copy files/folders between a container and the local filesystem.

func Create

func Create(opts *CreateOpts, image string, command string, arg ...string) (string, error)

Create a new container.

func Diff

func Diff(opts *DiffOpts, container string) (string, error)

Inspect changes to files or directories on a container's filesystem.

func Docker

func Docker(opts *DockerOpts) (string, error)

The base command for the Docker CLI.

func Events

func Events(opts *EventsOpts) (string, error)

Get real time events from the server.

func Exec

func Exec(opts *ExecOpts, container string, command string, arg ...string) (string, error)

Execute a command in a running container.

func Export

func Export(opts *ExportOpts, container string) (string, error)

Export a container's filesystem as a tar archive.

func History

func History(opts *HistoryOpts, image string) (string, error)

Show the history of an image.

func Image

func Image(opts *ImageOpts) (string, error)

Manage images.

func ImageBuild

func ImageBuild(opts *ImageBuildOpts, pathUrl string) (string, error)

Build an image from a Dockerfile.

func ImageHistory

func ImageHistory(opts *ImageHistoryOpts, image string) (string, error)

Show the history of an image.

func ImageImport

func ImageImport(opts *ImageImportOpts, fileUrl string, RepositoryTag string) (string, error)

Import the contents from a tarball to create a filesystem image.

func ImageInspect

func ImageInspect(opts *ImageInspectOpts, image ...string) (string, error)

Display detailed information on one or more images.

func ImageLoad

func ImageLoad(opts *ImageLoadOpts) (string, error)

Load an image from a tar archive or STDIN.

func ImageLs

func ImageLs(opts *ImageLsOpts, repositoryTag string) (string, error)

List images.

func ImagePrune

func ImagePrune(opts *ImagePruneOpts) (string, error)

Remove unused images.

func ImagePull

func ImagePull(opts *ImagePullOpts, nameTagDigest string) (string, error)

Download an image from a registry.

func ImagePush

func ImagePush(opts *ImagePushOpts, nameTag string) (string, error)

Upload an image to a registry.

func ImageRm

func ImageRm(opts *ImageRmOpts, image ...string) (string, error)

Remove one or more images.

func ImageSave

func ImageSave(opts *ImageSaveOpts, image ...string) (string, error)

Save one or more images to a tar archive (streamed to STDOUT by default).

func ImageTag

func ImageTag(opts *ImageTagOpts, sourceImageTag string, targetImageTag string) (string, error)

Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE.

func Images

func Images(opts *ImagesOpts, repositoryTag string) (string, error)

List images.

func Import

func Import(opts *ImportOpts, fileUrl string, RepositoryTag string) (string, error)

Import the contents from a tarball to create a filesystem image.

func Info

func Info(opts *InfoOpts) (string, error)

Display system-wide information.

func Inspect

func Inspect(opts *InspectOpts, nameId ...string) (string, error)

Return low-level information on Docker objects.

func Kill

func Kill(opts *KillOpts, container ...string) (string, error)

Kill one or more running containers.

func Load

func Load(opts *LoadOpts) (string, error)

Load an image from a tar archive or STDIN.

func Login

func Login(opts *LoginOpts, server string) (string, error)

Log in to a registry.

func Logout

func Logout(opts *LogoutOpts, server string) (string, error)

Log out from a registry.

func Logs

func Logs(opts *LogsOpts, container string) (string, error)

Fetch the logs of a container.

func Manifest

func Manifest(opts *ManifestOpts, command string) (string, error)

Manage Docker image manifests and manifest lists.

func ManifestAnnotate

func ManifestAnnotate(opts *ManifestAnnotateOpts, manifestList string, manifest string) (string, error)

Add additional information to a local image manifest.

func ManifestCreate

func ManifestCreate(opts *ManifestCreateOpts, manifestList string, manifest ...string) (string, error)

Create a local manifest list for annotating and pushing to a registry.

func ManifestInspect

func ManifestInspect(opts *ManifestInspectOpts, manifestList string, manifest string) (string, error)

Display an image manifest, or manifest list.

func ManifestPush

func ManifestPush(opts *ManifestPushOpts, manifestList string) (string, error)

Push a manifest list to a repository.

func ManifestRm

func ManifestRm(opts *ManifestRmOpts, manifestList ...string) (string, error)

Delete one or more manifest lists from local storage.

func Network

func Network(opts *NetworkOpts) (string, error)

Manage networks.

func NetworkConnect

func NetworkConnect(opts *NetworkConnectOpts, network string, container string) (string, error)

Connect a container to a network.

func NetworkCreate

func NetworkCreate(opts *NetworkCreateOpts, network string) (string, error)

Create a network.

func NetworkDisconnect

func NetworkDisconnect(opts *NetworkDisconnectOpts, network string, container string) (string, error)

Disconnect a container from a network.

func NetworkInspect

func NetworkInspect(opts *NetworkInspectOpts, network ...string) (string, error)

Display detailed information on one or more networks.

func NetworkLs

func NetworkLs(opts *NetworkLsOpts) (string, error)

List networks.

func NetworkPrune

func NetworkPrune(opts *NetworkPruneOpts) (string, error)

Remove all unused networks.

func NetworkRm

func NetworkRm(opts *NetworkRmOpts, network ...string) (string, error)

Remove one or more networks.

func Node

func Node(opts *NodeOpts) (string, error)

Manage Swarm nodes.

func NodeDemote

func NodeDemote(opts *NodeDemoteOpts, node ...string) (string, error)

Demote one or more nodes from manager in the swarm.

func NodeInspect

func NodeInspect(opts *NodeInspectOpts, selfNode string, node ...string) (string, error)

Display detailed information on one or more nodes.

func NodeLs

func NodeLs(opts *NodeLsOpts) (string, error)

List nodes in the swarm.

func NodePromote

func NodePromote(opts *NodePromoteOpts, node ...string) (string, error)

Promote one or more nodes to manager in the swarm.

func NodePs

func NodePs(opts *NodePsOpts, node ...string) (string, error)

List tasks running on one or more nodes, defaults to current node.

func NodeRm

func NodeRm(opts *NodeRmOpts, node ...string) (string, error)

Remove one or more nodes from the swarm.

func NodeUpdate

func NodeUpdate(opts *NodeUpdateOpts, node string) (string, error)

Update a node.

func Pause

func Pause(opts *PauseOpts, container ...string) (string, error)

Pause all processes within one or more containers.

func Plugin

func Plugin(opts *PluginOpts) (string, error)

Manage plugins.

func PluginCreate

func PluginCreate(opts *PluginCreateOpts, plugin string, pluginDataDir string) (string, error)

Create a plugin from a rootfs and configuration. Plugin data directory must contain config.json and rootfs directory.

func PluginDisable

func PluginDisable(opts *PluginDisableOpts, plugin string) (string, error)

Disable a plugin.

func PluginEnable

func PluginEnable(opts *PluginEnableOpts, plugin string) (string, error)

Enable a plugin.

func PluginInspect

func PluginInspect(opts *PluginInspectOpts, plugin ...string) (string, error)

Display detailed information on one or more plugins.

func PluginInstall

func PluginInstall(opts *PluginInstallOpts, plugin string, keyValue ...string) (string, error)

Install a plugin.

func PluginLs

func PluginLs(opts *PluginLsOpts) (string, error)

List plugins.

func PluginPush

func PluginPush(opts *PluginPushOpts, pluginTag string) (string, error)

Push a plugin to a registry.

func PluginRm

func PluginRm(opts *PluginRmOpts, plugin ...string) (string, error)

Remove one or more plugins.

func PluginSet

func PluginSet(opts *PluginSetOpts, plugin string, keyValue ...string) (string, error)

Change settings for a plugin.

func PluginUpgrade

func PluginUpgrade(opts *PluginUpgradeOpts, plugin string, remote string) (string, error)

Upgrade an existing plugin.

func Port

func Port(opts *PortOpts, container string, privatePortProto string) (string, error)

List port mappings or a specific mapping for the container.

func Ps

func Ps(opts *PsOpts) (string, error)

List containers.

func Pull

func Pull(opts *PullOpts, nameTagDigest string) (string, error)

Download an image from a registry.

func Push

func Push(opts *PushOpts, nameTag string) (string, error)

Upload an image to a registry.

func Rename

func Rename(opts *RenameOpts, container string, newName string) (string, error)

Rename a container.

func Restart

func Restart(opts *RestartOpts, container ...string) (string, error)

Restart one or more containers.

func Rm

func Rm(opts *RmOpts, container ...string) (string, error)

Remove one or more containers.

func Rmi

func Rmi(opts *RmiOpts, image ...string) (string, error)

Remove one or more images.

func Run

func Run(opts *RunOpts, image string, command string, arg ...string) (string, error)

Create and run a new container from an image.

func Save

func Save(opts *SaveOpts, image ...string) (string, error)

Save one or more images to a tar archive (streamed to STDOUT by default).

func Search(opts *SearchOpts, term string) (string, error)

Search Docker Hub for images.

func Secret

func Secret(opts *SecretOpts) (string, error)

Manage Swarm secrets.

func SecretCreate

func SecretCreate(opts *SecretCreateOpts, secret string, file string) (string, error)

Create a secret from a file or STDIN as content.

func SecretInspect

func SecretInspect(opts *SecretInspectOpts, secret ...string) (string, error)

Display detailed information on one or more secrets.

func SecretLs

func SecretLs(opts *SecretLsOpts) (string, error)

List secrets.

func SecretRm

func SecretRm(opts *SecretRmOpts, secret ...string) (string, error)

Remove one or more secrets.

func Service

func Service(opts *ServiceOpts) (string, error)

Manage Swarm services.

func ServiceCreate

func ServiceCreate(opts *ServiceCreateOpts, image string, command string, arg ...string) (string, error)

Create a new service.

func ServiceInspect

func ServiceInspect(opts *ServiceInspectOpts, service ...string) (string, error)

Display detailed information on one or more services.

func ServiceLogs

func ServiceLogs(opts *ServiceLogsOpts, serviceTask string) (string, error)

Fetch the logs of a service or task.

func ServiceLs

func ServiceLs(opts *ServiceLsOpts) (string, error)

List services.

func ServicePs

func ServicePs(opts *ServicePsOpts, service ...string) (string, error)

List the tasks of one or more services.

func ServiceRm

func ServiceRm(opts *ServiceRmOpts, service ...string) (string, error)

Remove one or more services.

func ServiceRollback

func ServiceRollback(opts *ServiceRollbackOpts, service string) (string, error)

Revert changes to a service's configuration.

func ServiceScale

func ServiceScale(opts *ServiceScaleOpts, serviceReplicas ...string) (string, error)

Scale one or multiple replicated services.

func ServiceUpdate

func ServiceUpdate(opts *ServiceUpdateOpts, service string) (string, error)

Update a service.

func Stack

func Stack(opts *StackOpts) (string, error)

Manage Swarm stacks.

func StackConfig

func StackConfig(opts *StackConfigOpts) (string, error)

Outputs the final config file, after doing merges and interpolations.

func StackDeploy

func StackDeploy(opts *StackDeployOpts, stack string) (string, error)

Deploy a new stack or update an existing stack.

func StackLs

func StackLs(opts *StackLsOpts) (string, error)

List stacks.

func StackPs

func StackPs(opts *StackPsOpts, stack string) (string, error)

List the tasks in the stack.

func StackRm

func StackRm(opts *StackRmOpts, stack ...string) (string, error)

Remove one or more stacks.

func StackServices

func StackServices(opts *StackServicesOpts, stack string) (string, error)

List the services in the stack.

func Start

func Start(opts *StartOpts, container ...string) (string, error)

Start one or more stopped containers.

func Stats

func Stats(opts *StatsOpts, container ...string) (string, error)

Display a live stream of container(s) resource usage statistics.

func Stop

func Stop(opts *StopOpts, container ...string) (string, error)

Stop one or more running containers.

func Swarm

func Swarm(opts *SwarmOpts) (string, error)

Manage Swarm.

func SwarmCa

func SwarmCa(opts *SwarmCaOpts) (string, error)

Display and rotate the root CA.

func SwarmInit

func SwarmInit(opts *SwarmInitOpts) (string, error)

Initialize a swarm.

func SwarmJoin

func SwarmJoin(opts *SwarmJoinOpts, hostPort string) (string, error)

Join a swarm as a node and/or manager.

func SwarmJoinToken

func SwarmJoinToken(opts *SwarmJoinTokenOpts, WorkerManager string) (string, error)

Manage join tokens.

func SwarmLeave

func SwarmLeave(opts *SwarmLeaveOpts) (string, error)

Leave the swarm.

func SwarmUnlock

func SwarmUnlock(opts *SwarmUnlockOpts) (string, error)

Unlock swarm.

func SwarmUnlockKey

func SwarmUnlockKey(opts *SwarmUnlockKeyOpts) (string, error)

Manage the unlock key.

func SwarmUpdate

func SwarmUpdate(opts *SwarmUpdateOpts) (string, error)

Update the swarm.

func System

func System(opts *SystemOpts) (string, error)

Manage Docker.

func SystemDf

func SystemDf(opts *SystemDfOpts) (string, error)

Show docker disk usage.

func SystemDialStdio

func SystemDialStdio(opts *SystemDialStdioOpts) (string, error)

Proxy the stdio stream to the daemon connection. Should not be invoked manually.

func SystemEvents

func SystemEvents(opts *SystemEventsOpts) (string, error)

Get real time events from the server.

func SystemInfo

func SystemInfo(opts *SystemInfoOpts) (string, error)

Display system-wide information.

func SystemPrune

func SystemPrune(opts *SystemPruneOpts) (string, error)

Remove unused data.

func Tag

func Tag(opts *TagOpts, sourceImageTag string, targetImageTag string) (string, error)

Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE.

func Top

func Top(opts *TopOpts, container string, psOptions string) (string, error)

Display the running processes of a container.

func Trust

func Trust(opts *TrustOpts) (string, error)

Manage trust on Docker images.

func TrustInspect

func TrustInspect(opts *TrustInspectOpts, imageTag ...string) (string, error)

Return low-level information about keys and signatures.

func TrustKey

func TrustKey(opts *TrustKeyOpts) (string, error)

Manage keys for signing Docker images.

func TrustKeyGenerate

func TrustKeyGenerate(opts *TrustKeyGenerateOpts, name string) (string, error)

Generate and load a signing key-pair.

func TrustKeyLoad

func TrustKeyLoad(opts *TrustKeyLoadOpts, keyfile string) (string, error)

Load a private key file for signing.

func TrustRevoke

func TrustRevoke(opts *TrustRevokeOpts, imageTag string) (string, error)

Remove trust for an image.

func TrustSign

func TrustSign(opts *TrustSignOpts, imageTag string) (string, error)

Sign an image.

func TrustSigner

func TrustSigner(opts *TrustSignerOpts) (string, error)

Manage entities who can sign Docker images.

func TrustSignerAdd

func TrustSignerAdd(opts *TrustSignerAddOpts, name string, repository ...string) (string, error)

Add a signer.

func TrustSignerRemove

func TrustSignerRemove(opts *TrustSignerRemoveOpts, name string, repository ...string) (string, error)

Remove a signer.

func Unpause

func Unpause(opts *UnpauseOpts, container ...string) (string, error)

Unpause all processes within one or more containers.

func Update

func Update(opts *UpdateOpts, container ...string) (string, error)

Update configuration of one or more containers.

func Version

func Version(opts *VersionOpts) (string, error)

Show the Docker version information.

func Volume

func Volume(opts *VolumeOpts, command string) (string, error)

Manage volumes.

func VolumeCreate

func VolumeCreate(opts *VolumeCreateOpts, volume string) (string, error)

Create a volume.

func VolumeInspect

func VolumeInspect(opts *VolumeInspectOpts, volume ...string) (string, error)

Display detailed information on one or more volumes.

func VolumeLs

func VolumeLs(opts *VolumeLsOpts) (string, error)

List volumes.

func VolumePrune

func VolumePrune(opts *VolumePruneOpts) (string, error)

Remove unused local volumes.

func VolumeRm

func VolumeRm(opts *VolumeRmOpts, volume ...string) (string, error)

Remove one or more volumes.

func VolumeUpdate

func VolumeUpdate(opts *VolumeUpdateOpts, volume string) (string, error)

Update a volume (cluster volumes only).

func Wait

func Wait(opts *WaitOpts, container ...string) (string, error)

Block until one or more containers stop, then print their exit codes.

Types

type AttachOpts

type AttachOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Override the key sequence for detaching a container.
	DetachKeys string

	// Print usage.
	Help bool

	// Do not attach STDIN.
	NoStdin bool

	// Proxy all received signals to the process.
	SigProxy bool
}

type BuildOpts

type BuildOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Add a custom host-to-IP mapping (`host:ip`).
	AddHost []string

	// Set build-time variables.
	BuildArg []string

	// Images to consider as cache sources.
	CacheFrom string

	// Set the parent cgroup for the `RUN` instructions during build.
	CgroupParent string

	// Compress the build context using gzip.
	Compress bool

	// Limit the CPU CFS (Completely Fair Scheduler) period.
	CpuPeriod string

	// Limit the CPU CFS (Completely Fair Scheduler) quota.
	CpuQuota string

	// CPU shares (relative weight).
	CpuShares string

	// CPUs in which to allow execution (0-3, 0,1).
	CpusetCpus string

	// MEMs in which to allow execution (0-3, 0,1).
	CpusetMems string

	// Skip image verification.
	DisableContentTrust bool

	// Name of the Dockerfile (Default is `PATH/Dockerfile`).
	File string

	// Always remove intermediate containers.
	ForceRm bool

	// Print usage.
	Help bool

	// Write the image ID to the file.
	Iidfile string

	// Container isolation technology.
	Isolation string

	// Set metadata for an image.
	Label []string

	// Memory limit.
	Memory string

	// Swap limit equal to memory plus swap: -1 to enable unlimited swap.
	MemorySwap string

	// Set the networking mode for the RUN instructions during build.
	Network string

	// Do not use cache when building the image.
	NoCache bool

	// Set platform if server is multi-platform capable.
	Platform string

	// Always attempt to pull a newer version of the image.
	Pull bool

	// Suppress the build output and print image ID on success.
	Quiet bool

	// Remove intermediate containers after a successful build.
	Rm bool

	// Security options.
	SecurityOpt string

	// Size of `/dev/shm`.
	ShmSize string

	// Squash newly built layers into a single new layer.
	Squash bool

	// Name and optionally a tag in the `name:tag` format.
	Tag []string

	// Set the target build stage to build.
	Target string

	// Ulimit options.
	Ulimit string
}

type BuilderBuildOpts

type BuilderBuildOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Add a custom host-to-IP mapping (`host:ip`).
	AddHost []string

	// Set build-time variables.
	BuildArg []string

	// Images to consider as cache sources.
	CacheFrom string

	// Set the parent cgroup for the `RUN` instructions during build.
	CgroupParent string

	// Compress the build context using gzip.
	Compress bool

	// Limit the CPU CFS (Completely Fair Scheduler) period.
	CpuPeriod string

	// Limit the CPU CFS (Completely Fair Scheduler) quota.
	CpuQuota string

	// CPU shares (relative weight).
	CpuShares string

	// CPUs in which to allow execution (0-3, 0,1).
	CpusetCpus string

	// MEMs in which to allow execution (0-3, 0,1).
	CpusetMems string

	// Skip image verification.
	DisableContentTrust bool

	// Name of the Dockerfile (Default is `PATH/Dockerfile`).
	File string

	// Always remove intermediate containers.
	ForceRm bool

	// Print usage.
	Help bool

	// Write the image ID to the file.
	Iidfile string

	// Container isolation technology.
	Isolation string

	// Set metadata for an image.
	Label []string

	// Memory limit.
	Memory string

	// Swap limit equal to memory plus swap: -1 to enable unlimited swap.
	MemorySwap string

	// Set the networking mode for the RUN instructions during build.
	Network string

	// Do not use cache when building the image.
	NoCache bool

	// Set platform if server is multi-platform capable.
	Platform string

	// Always attempt to pull a newer version of the image.
	Pull bool

	// Suppress the build output and print image ID on success.
	Quiet bool

	// Remove intermediate containers after a successful build.
	Rm bool

	// Security options.
	SecurityOpt string

	// Size of `/dev/shm`.
	ShmSize string

	// Squash newly built layers into a single new layer.
	Squash bool

	// Name and optionally a tag in the `name:tag` format.
	Tag []string

	// Set the target build stage to build.
	Target string

	// Ulimit options.
	Ulimit string
}

type BuilderOpts

type BuilderOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type BuilderPruneOpts

type BuilderPruneOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Remove all unused build cache, not just dangling ones.
	All bool

	// Provide filter values (e.g. `until=24h`).
	Filter string

	// Do not prompt for confirmation.
	Force bool

	// Print usage.
	Help bool

	// Amount of disk space to keep for cache.
	KeepStorage string
}

type CheckpointCreateOpts

type CheckpointCreateOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Use a custom checkpoint storage directory.
	CheckpointDir string

	// Print usage.
	Help bool

	// Leave the container running after checkpoint.
	LeaveRunning bool
}

type CheckpointLsOpts

type CheckpointLsOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Use a custom checkpoint storage directory.
	CheckpointDir string

	// Print usage.
	Help bool
}

type CheckpointOpts

type CheckpointOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type CheckpointRmOpts

type CheckpointRmOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Use a custom checkpoint storage directory.
	CheckpointDir string

	// Print usage.
	Help bool
}

type CliError

type CliError struct {
	*os.ProcessState

	Stderr string
}

func (*CliError) Error

func (e *CliError) Error() string

type CommitOpts

type CommitOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Author (e.g., `John Hannibal Smith <hannibal@a-team.com>`).
	Author string

	// Apply Dockerfile instruction to the created image.
	Change []string

	// Print usage.
	Help bool

	// Commit message.
	Message string

	// Pause container during commit.
	Pause bool
}

type ConfigCreateOpts

type ConfigCreateOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool

	// Config labels.
	Label []string

	// Template driver.
	TemplateDriver string
}

type ConfigInspectOpts

type ConfigInspectOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Format output using a custom template:
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Print the information in a human friendly format.
	Pretty bool
}

type ConfigLsOpts

type ConfigLsOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Filter output based on conditions provided.
	Filter string

	// Format output using a custom template:
	// 'table':            Print output in table format with column headers (default).
	// 'table TEMPLATE':   Print output in table format using the given Go template.
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Only display IDs.
	Quiet bool
}

type ConfigOpts

type ConfigOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type ConfigRmOpts

type ConfigRmOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type ContainerAttachOpts

type ContainerAttachOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Override the key sequence for detaching a container.
	DetachKeys string

	// Print usage.
	Help bool

	// Do not attach STDIN.
	NoStdin bool

	// Proxy all received signals to the process.
	SigProxy bool
}

type ContainerCommitOpts

type ContainerCommitOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Author (e.g., `John Hannibal Smith <hannibal@a-team.com>`).
	Author string

	// Apply Dockerfile instruction to the created image.
	Change []string

	// Print usage.
	Help bool

	// Commit message.
	Message string

	// Pause container during commit.
	Pause bool
}

type ContainerCpOpts

type ContainerCpOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Archive mode (copy all uid/gid information).
	Archive bool

	// Always follow symbol link in SRC_PATH.
	FollowLink bool

	// Print usage.
	Help bool

	// Suppress progress output during copy. Progress output is automatically suppressed if no terminal is attached.
	Quiet bool
}

type ContainerCreateOpts

type ContainerCreateOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Add a custom host-to-IP mapping (host:ip).
	AddHost []string

	// Add an annotation to the container (passed through to the OCI runtime).
	Annotation string

	// Attach to STDIN, STDOUT or STDERR.
	Attach []string

	// Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0).
	BlkioWeight string

	// Block IO weight (relative device weight).
	BlkioWeightDevice []string

	// Add Linux capabilities.
	CapAdd []string

	// Drop Linux capabilities.
	CapDrop []string

	// Optional parent cgroup for the container.
	CgroupParent string

	// Cgroup namespace to use (host|private).
	// 'host':    Run the container in the Docker host's cgroup namespace.
	// 'private': Run the container in its own private cgroup namespace.
	// ”:        Use the cgroup namespace as configured by the.
	// default-cgroupns-mode option on the daemon (default).
	Cgroupns string

	// Write the container ID to the file.
	Cidfile string

	// CPU count (Windows only).
	CpuCount string

	// CPU percent (Windows only).
	CpuPercent string

	// Limit CPU CFS (Completely Fair Scheduler) period.
	CpuPeriod string

	// Limit CPU CFS (Completely Fair Scheduler) quota.
	CpuQuota string

	// Limit CPU real-time period in microseconds.
	CpuRtPeriod string

	// Limit CPU real-time runtime in microseconds.
	CpuRtRuntime string

	// CPU shares (relative weight).
	CpuShares string

	// Number of CPUs.
	Cpus string

	// CPUs in which to allow execution (0-3, 0,1).
	CpusetCpus string

	// MEMs in which to allow execution (0-3, 0,1).
	CpusetMems string

	// Add a host device to the container.
	Device []string

	// Add a rule to the cgroup allowed devices list.
	DeviceCgroupRule []string

	// Limit read rate (bytes per second) from a device.
	DeviceReadBps []string

	// Limit read rate (IO per second) from a device.
	DeviceReadIops []string

	// Limit write rate (bytes per second) to a device.
	DeviceWriteBps []string

	// Limit write rate (IO per second) to a device.
	DeviceWriteIops []string

	// Skip image verification.
	DisableContentTrust bool

	// Set custom DNS servers.
	Dns []string

	// Set DNS options.
	DnsOpt []string

	// Set DNS options.
	DnsOption []string

	// Set custom DNS search domains.
	DnsSearch []string

	// Container NIS domain name.
	Domainname string

	// Overwrite the default ENTRYPOINT of the image.
	Entrypoint string

	// Set environment variables.
	Env []string

	// Read in a file of environment variables.
	EnvFile []string

	// Expose a port or a range of ports.
	Expose []string

	// GPU devices to add to the container ('all' to pass all GPUs).
	Gpus string

	// Add additional groups to join.
	GroupAdd []string

	// Command to run to check health.
	HealthCmd string

	// Time between running the check (ms|s|m|h) (default 0s).
	HealthInterval string

	// Consecutive failures needed to report unhealthy.
	HealthRetries *int

	// Time between running the check during the start period (ms|s|m|h) (default 0s).
	HealthStartInterval string

	// Start period for the container to initialize before starting health-retries countdown (ms|s|m|h) (default 0s).
	HealthStartPeriod string

	// Maximum time to allow one check to run (ms|s|m|h) (default 0s).
	HealthTimeout string

	// Print usage.
	Help bool

	// Container host name.
	Hostname string

	// Run an init inside the container that forwards signals and reaps processes.
	Init bool

	// Keep STDIN open even if not attached.
	Interactive bool

	// Maximum IO bandwidth limit for the system drive (Windows only).
	IoMaxbandwidth string

	// Maximum IOps limit for the system drive (Windows only).
	IoMaxiops string

	// IPv4 address (e.g., 172.30.100.104).
	Ip string

	// IPv6 address (e.g., 2001:db8::33).
	Ip6 string

	// IPC mode to use.
	Ipc string

	// Container isolation technology.
	Isolation string

	// Kernel memory limit.
	KernelMemory string

	// Set meta data on a container.
	Label []string

	// Read in a line delimited file of labels.
	LabelFile []string

	// Add link to another container.
	Link []string

	// Container IPv4/IPv6 link-local addresses.
	LinkLocalIp []string

	// Logging driver for the container.
	LogDriver string

	// Log driver options.
	LogOpt []string

	// Container MAC address (e.g., 92:d0:c6:0a:29:33).
	MacAddress string

	// Memory limit.
	Memory string

	// Memory soft limit.
	MemoryReservation string

	// Swap limit equal to memory plus swap: '-1' to enable unlimited swap.
	MemorySwap string

	// Tune container memory swappiness (0 to 100).
	MemorySwappiness string

	// Attach a filesystem mount to the container.
	Mount string

	// Assign a name to the container.
	Name string

	// Connect a container to a network.
	Net string

	// Add network-scoped alias for the container.
	NetAlias []string

	// Connect a container to a network.
	Network string

	// Add network-scoped alias for the container.
	NetworkAlias []string

	// Disable any container-specified HEALTHCHECK.
	NoHealthcheck bool

	// Disable OOM Killer.
	OomKillDisable bool

	// Tune host's OOM preferences (-1000 to 1000).
	OomScoreAdj *int

	// PID namespace to use.
	Pid string

	// Tune container pids limit (set -1 for unlimited).
	PidsLimit string

	// Set platform if server is multi-platform capable.
	Platform string

	// Give extended privileges to this container.
	Privileged bool

	// Publish a container's port(s) to the host.
	Publish []string

	// Publish all exposed ports to random ports.
	PublishAll bool

	// Pull image before creating (`always`, `|missing`, `never`).
	Pull string

	// Suppress the pull output.
	Quiet bool

	// Mount the container's root filesystem as read only.
	ReadOnly bool

	// Restart policy to apply when a container exits.
	Restart string

	// Automatically remove the container when it exits.
	Rm bool

	// Runtime to use for this container.
	Runtime string

	// Security Options.
	SecurityOpt []string

	// Size of /dev/shm.
	ShmSize string

	// Signal to stop the container.
	StopSignal string

	// Timeout (in seconds) to stop a container.
	StopTimeout *int

	// Storage driver options for the container.
	StorageOpt []string

	// Sysctl options.
	Sysctl string

	// Mount a tmpfs directory.
	Tmpfs []string

	// Allocate a pseudo-TTY.
	Tty bool

	// Ulimit options.
	Ulimit string

	// Username or UID (format: <name|uid>[:<group|gid>]).
	User string

	// User namespace to use.
	Userns string

	// UTS namespace to use.
	Uts string

	// Bind mount a volume.
	Volume []string

	// Optional volume driver for the container.
	VolumeDriver string

	// Mount volumes from the specified container(s).
	VolumesFrom []string

	// Working directory inside the container.
	Workdir string
}

type ContainerDiffOpts

type ContainerDiffOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type ContainerExecOpts

type ContainerExecOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Detached mode: run command in the background.
	Detach bool

	// Override the key sequence for detaching a container.
	DetachKeys string

	// Set environment variables.
	Env []string

	// Read in a file of environment variables.
	EnvFile []string

	// Print usage.
	Help bool

	// Keep STDIN open even if not attached.
	Interactive bool

	// Give extended privileges to the command.
	Privileged bool

	// Allocate a pseudo-TTY.
	Tty bool

	// Username or UID (format: `<name|uid>[:<group|gid>]`).
	User string

	// Working directory inside the container.
	Workdir string
}

type ContainerExportOpts

type ContainerExportOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool

	// Write to a file, instead of STDOUT.
	Output string
}

type ContainerInspectOpts

type ContainerInspectOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Format output using a custom template:
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Display total file sizes.
	Size bool
}

type ContainerKillOpts

type ContainerKillOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool

	// Signal to send to the container.
	Signal string
}

type ContainerLogsOpts

type ContainerLogsOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Show extra details provided to logs.
	Details bool

	// Follow log output.
	Follow bool

	// Print usage.
	Help bool

	// Show logs since timestamp (e.g. `2013-01-02T13:23:37Z`) or relative (e.g. `42m` for 42 minutes).
	Since string

	// Number of lines to show from the end of the logs.
	Tail string

	// Show timestamps.
	Timestamps bool

	// Show logs before a timestamp (e.g. `2013-01-02T13:23:37Z`) or relative (e.g. `42m` for 42 minutes).
	Until string
}

type ContainerLsOpts

type ContainerLsOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Show all containers (default shows just running).
	All bool

	// Filter output based on conditions provided.
	Filter string

	// Format output using a custom template:
	// 'table':            Print output in table format with column headers (default).
	// 'table TEMPLATE':   Print output in table format using the given Go template.
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Show n last created containers (includes all states).
	Last *int

	// Show the latest created container (includes all states).
	Latest bool

	// Don't truncate output.
	NoTrunc bool

	// Only display container IDs.
	Quiet bool

	// Display total file sizes.
	Size bool
}

type ContainerOpts

type ContainerOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type ContainerPauseOpts

type ContainerPauseOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type ContainerPortOpts

type ContainerPortOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type ContainerPruneOpts

type ContainerPruneOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Provide filter values (e.g. `until=<timestamp>`).
	Filter string

	// Do not prompt for confirmation.
	Force bool

	// Print usage.
	Help bool
}

type ContainerRenameOpts

type ContainerRenameOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type ContainerRestartOpts

type ContainerRestartOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool

	// Signal to send to the container.
	Signal string

	// Seconds to wait before killing the container.
	Time *int
}

type ContainerRmOpts

type ContainerRmOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Force the removal of a running container (uses SIGKILL).
	Force bool

	// Print usage.
	Help bool

	// Remove the specified link.
	Link bool

	// Remove anonymous volumes associated with the container.
	Volumes bool
}

type ContainerRunOpts

type ContainerRunOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Add a custom host-to-IP mapping (host:ip).
	AddHost []string

	// Add an annotation to the container (passed through to the OCI runtime).
	Annotation string

	// Attach to STDIN, STDOUT or STDERR.
	Attach []string

	// Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0).
	BlkioWeight string

	// Block IO weight (relative device weight).
	BlkioWeightDevice []string

	// Add Linux capabilities.
	CapAdd []string

	// Drop Linux capabilities.
	CapDrop []string

	// Optional parent cgroup for the container.
	CgroupParent string

	// Cgroup namespace to use (host|private).
	// 'host':    Run the container in the Docker host's cgroup namespace.
	// 'private': Run the container in its own private cgroup namespace.
	// ”:        Use the cgroup namespace as configured by the.
	// default-cgroupns-mode option on the daemon (default).
	Cgroupns string

	// Write the container ID to the file.
	Cidfile string

	// CPU count (Windows only).
	CpuCount string

	// CPU percent (Windows only).
	CpuPercent string

	// Limit CPU CFS (Completely Fair Scheduler) period.
	CpuPeriod string

	// Limit CPU CFS (Completely Fair Scheduler) quota.
	CpuQuota string

	// Limit CPU real-time period in microseconds.
	CpuRtPeriod string

	// Limit CPU real-time runtime in microseconds.
	CpuRtRuntime string

	// CPU shares (relative weight).
	CpuShares string

	// Number of CPUs.
	Cpus string

	// CPUs in which to allow execution (0-3, 0,1).
	CpusetCpus string

	// MEMs in which to allow execution (0-3, 0,1).
	CpusetMems string

	// Run container in background and print container ID.
	Detach bool

	// Override the key sequence for detaching a container.
	DetachKeys string

	// Add a host device to the container.
	Device []string

	// Add a rule to the cgroup allowed devices list.
	DeviceCgroupRule []string

	// Limit read rate (bytes per second) from a device.
	DeviceReadBps []string

	// Limit read rate (IO per second) from a device.
	DeviceReadIops []string

	// Limit write rate (bytes per second) to a device.
	DeviceWriteBps []string

	// Limit write rate (IO per second) to a device.
	DeviceWriteIops []string

	// Skip image verification.
	DisableContentTrust bool

	// Set custom DNS servers.
	Dns []string

	// Set DNS options.
	DnsOpt []string

	// Set DNS options.
	DnsOption []string

	// Set custom DNS search domains.
	DnsSearch []string

	// Container NIS domain name.
	Domainname string

	// Overwrite the default ENTRYPOINT of the image.
	Entrypoint string

	// Set environment variables.
	Env []string

	// Read in a file of environment variables.
	EnvFile []string

	// Expose a port or a range of ports.
	Expose []string

	// GPU devices to add to the container ('all' to pass all GPUs).
	Gpus string

	// Add additional groups to join.
	GroupAdd []string

	// Command to run to check health.
	HealthCmd string

	// Time between running the check (ms|s|m|h) (default 0s).
	HealthInterval string

	// Consecutive failures needed to report unhealthy.
	HealthRetries *int

	// Time between running the check during the start period (ms|s|m|h) (default 0s).
	HealthStartInterval string

	// Start period for the container to initialize before starting health-retries countdown (ms|s|m|h) (default 0s).
	HealthStartPeriod string

	// Maximum time to allow one check to run (ms|s|m|h) (default 0s).
	HealthTimeout string

	// Print usage.
	Help bool

	// Container host name.
	Hostname string

	// Run an init inside the container that forwards signals and reaps processes.
	Init bool

	// Keep STDIN open even if not attached.
	Interactive bool

	// Maximum IO bandwidth limit for the system drive (Windows only).
	IoMaxbandwidth string

	// Maximum IOps limit for the system drive (Windows only).
	IoMaxiops string

	// IPv4 address (e.g., 172.30.100.104).
	Ip string

	// IPv6 address (e.g., 2001:db8::33).
	Ip6 string

	// IPC mode to use.
	Ipc string

	// Container isolation technology.
	Isolation string

	// Kernel memory limit.
	KernelMemory string

	// Set meta data on a container.
	Label []string

	// Read in a line delimited file of labels.
	LabelFile []string

	// Add link to another container.
	Link []string

	// Container IPv4/IPv6 link-local addresses.
	LinkLocalIp []string

	// Logging driver for the container.
	LogDriver string

	// Log driver options.
	LogOpt []string

	// Container MAC address (e.g., 92:d0:c6:0a:29:33).
	MacAddress string

	// Memory limit.
	Memory string

	// Memory soft limit.
	MemoryReservation string

	// Swap limit equal to memory plus swap: '-1' to enable unlimited swap.
	MemorySwap string

	// Tune container memory swappiness (0 to 100).
	MemorySwappiness string

	// Attach a filesystem mount to the container.
	Mount string

	// Assign a name to the container.
	Name string

	// Connect a container to a network.
	Net string

	// Add network-scoped alias for the container.
	NetAlias []string

	// Connect a container to a network.
	Network string

	// Add network-scoped alias for the container.
	NetworkAlias []string

	// Disable any container-specified HEALTHCHECK.
	NoHealthcheck bool

	// Disable OOM Killer.
	OomKillDisable bool

	// Tune host's OOM preferences (-1000 to 1000).
	OomScoreAdj *int

	// PID namespace to use.
	Pid string

	// Tune container pids limit (set -1 for unlimited).
	PidsLimit string

	// Set platform if server is multi-platform capable.
	Platform string

	// Give extended privileges to this container.
	Privileged bool

	// Publish a container's port(s) to the host.
	Publish []string

	// Publish all exposed ports to random ports.
	PublishAll bool

	// Pull image before running (`always`, `missing`, `never`).
	Pull string

	// Suppress the pull output.
	Quiet bool

	// Mount the container's root filesystem as read only.
	ReadOnly bool

	// Restart policy to apply when a container exits.
	Restart string

	// Automatically remove the container when it exits.
	Rm bool

	// Runtime to use for this container.
	Runtime string

	// Security Options.
	SecurityOpt []string

	// Size of /dev/shm.
	ShmSize string

	// Proxy received signals to the process.
	SigProxy bool

	// Signal to stop the container.
	StopSignal string

	// Timeout (in seconds) to stop a container.
	StopTimeout *int

	// Storage driver options for the container.
	StorageOpt []string

	// Sysctl options.
	Sysctl string

	// Mount a tmpfs directory.
	Tmpfs []string

	// Allocate a pseudo-TTY.
	Tty bool

	// Ulimit options.
	Ulimit string

	// Username or UID (format: <name|uid>[:<group|gid>]).
	User string

	// User namespace to use.
	Userns string

	// UTS namespace to use.
	Uts string

	// Bind mount a volume.
	Volume []string

	// Optional volume driver for the container.
	VolumeDriver string

	// Mount volumes from the specified container(s).
	VolumesFrom []string

	// Working directory inside the container.
	Workdir string
}

type ContainerStartOpts

type ContainerStartOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Attach STDOUT/STDERR and forward signals.
	Attach bool

	// Restore from this checkpoint.
	Checkpoint string

	// Use a custom checkpoint storage directory.
	CheckpointDir string

	// Override the key sequence for detaching a container.
	DetachKeys string

	// Print usage.
	Help bool

	// Attach container's STDIN.
	Interactive bool
}

type ContainerStatsOpts

type ContainerStatsOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Show all containers (default shows just running).
	All bool

	// Format output using a custom template:
	// 'table':            Print output in table format with column headers (default).
	// 'table TEMPLATE':   Print output in table format using the given Go template.
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Disable streaming stats and only pull the first result.
	NoStream bool

	// Do not truncate output.
	NoTrunc bool
}

type ContainerStopOpts

type ContainerStopOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool

	// Signal to send to the container.
	Signal string

	// Seconds to wait before killing the container.
	Time *int
}

type ContainerTopOpts

type ContainerTopOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type ContainerUnpauseOpts

type ContainerUnpauseOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type ContainerUpdateOpts

type ContainerUpdateOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0).
	BlkioWeight string

	// Limit CPU CFS (Completely Fair Scheduler) period.
	CpuPeriod string

	// Limit CPU CFS (Completely Fair Scheduler) quota.
	CpuQuota string

	// Limit the CPU real-time period in microseconds.
	CpuRtPeriod string

	// Limit the CPU real-time runtime in microseconds.
	CpuRtRuntime string

	// CPU shares (relative weight).
	CpuShares string

	// Number of CPUs.
	Cpus string

	// CPUs in which to allow execution (0-3, 0,1).
	CpusetCpus string

	// MEMs in which to allow execution (0-3, 0,1).
	CpusetMems string

	// Print usage.
	Help bool

	// Kernel memory limit (deprecated).
	KernelMemory string

	// Memory limit.
	Memory string

	// Memory soft limit.
	MemoryReservation string

	// Swap limit equal to memory plus swap: -1 to enable unlimited swap.
	MemorySwap string

	// Tune container pids limit (set -1 for unlimited).
	PidsLimit string

	// Restart policy to apply when a container exits.
	Restart string
}

type ContainerWaitOpts

type ContainerWaitOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type ContextCreateOpts

type ContextCreateOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Description of the context.
	Description string

	// set the docker endpoint.
	Docker string

	// create context from a named context.
	From string

	// Print usage.
	Help bool
}

type ContextExportOpts

type ContextExportOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type ContextImportOpts

type ContextImportOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type ContextInspectOpts

type ContextInspectOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Format output using a custom template:
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool
}

type ContextLsOpts

type ContextLsOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Format output using a custom template:
	// 'table':            Print output in table format with column headers (default).
	// 'table TEMPLATE':   Print output in table format using the given Go template.
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Only show context names.
	Quiet bool
}

type ContextOpts

type ContextOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type ContextRmOpts

type ContextRmOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Force the removal of a context in use.
	Force bool

	// Print usage.
	Help bool
}

type ContextShowOpts

type ContextShowOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type ContextUpdateOpts

type ContextUpdateOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Description of the context.
	Description string

	// set the docker endpoint.
	Docker string

	// Print usage.
	Help bool
}

type ContextUseOpts

type ContextUseOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type CpOpts

type CpOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Archive mode (copy all uid/gid information).
	Archive bool

	// Always follow symbol link in SRC_PATH.
	FollowLink bool

	// Print usage.
	Help bool

	// Suppress progress output during copy. Progress output is automatically suppressed if no terminal is attached.
	Quiet bool
}

type CreateOpts

type CreateOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Add a custom host-to-IP mapping (host:ip).
	AddHost []string

	// Add an annotation to the container (passed through to the OCI runtime).
	Annotation string

	// Attach to STDIN, STDOUT or STDERR.
	Attach []string

	// Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0).
	BlkioWeight string

	// Block IO weight (relative device weight).
	BlkioWeightDevice []string

	// Add Linux capabilities.
	CapAdd []string

	// Drop Linux capabilities.
	CapDrop []string

	// Optional parent cgroup for the container.
	CgroupParent string

	// Cgroup namespace to use (host|private).
	// 'host':    Run the container in the Docker host's cgroup namespace.
	// 'private': Run the container in its own private cgroup namespace.
	// ”:        Use the cgroup namespace as configured by the.
	// default-cgroupns-mode option on the daemon (default).
	Cgroupns string

	// Write the container ID to the file.
	Cidfile string

	// CPU count (Windows only).
	CpuCount string

	// CPU percent (Windows only).
	CpuPercent string

	// Limit CPU CFS (Completely Fair Scheduler) period.
	CpuPeriod string

	// Limit CPU CFS (Completely Fair Scheduler) quota.
	CpuQuota string

	// Limit CPU real-time period in microseconds.
	CpuRtPeriod string

	// Limit CPU real-time runtime in microseconds.
	CpuRtRuntime string

	// CPU shares (relative weight).
	CpuShares string

	// Number of CPUs.
	Cpus string

	// CPUs in which to allow execution (0-3, 0,1).
	CpusetCpus string

	// MEMs in which to allow execution (0-3, 0,1).
	CpusetMems string

	// Add a host device to the container.
	Device []string

	// Add a rule to the cgroup allowed devices list.
	DeviceCgroupRule []string

	// Limit read rate (bytes per second) from a device.
	DeviceReadBps []string

	// Limit read rate (IO per second) from a device.
	DeviceReadIops []string

	// Limit write rate (bytes per second) to a device.
	DeviceWriteBps []string

	// Limit write rate (IO per second) to a device.
	DeviceWriteIops []string

	// Skip image verification.
	DisableContentTrust bool

	// Set custom DNS servers.
	Dns []string

	// Set DNS options.
	DnsOpt []string

	// Set DNS options.
	DnsOption []string

	// Set custom DNS search domains.
	DnsSearch []string

	// Container NIS domain name.
	Domainname string

	// Overwrite the default ENTRYPOINT of the image.
	Entrypoint string

	// Set environment variables.
	Env []string

	// Read in a file of environment variables.
	EnvFile []string

	// Expose a port or a range of ports.
	Expose []string

	// GPU devices to add to the container ('all' to pass all GPUs).
	Gpus string

	// Add additional groups to join.
	GroupAdd []string

	// Command to run to check health.
	HealthCmd string

	// Time between running the check (ms|s|m|h) (default 0s).
	HealthInterval string

	// Consecutive failures needed to report unhealthy.
	HealthRetries *int

	// Time between running the check during the start period (ms|s|m|h) (default 0s).
	HealthStartInterval string

	// Start period for the container to initialize before starting health-retries countdown (ms|s|m|h) (default 0s).
	HealthStartPeriod string

	// Maximum time to allow one check to run (ms|s|m|h) (default 0s).
	HealthTimeout string

	// Print usage.
	Help bool

	// Container host name.
	Hostname string

	// Run an init inside the container that forwards signals and reaps processes.
	Init bool

	// Keep STDIN open even if not attached.
	Interactive bool

	// Maximum IO bandwidth limit for the system drive (Windows only).
	IoMaxbandwidth string

	// Maximum IOps limit for the system drive (Windows only).
	IoMaxiops string

	// IPv4 address (e.g., 172.30.100.104).
	Ip string

	// IPv6 address (e.g., 2001:db8::33).
	Ip6 string

	// IPC mode to use.
	Ipc string

	// Container isolation technology.
	Isolation string

	// Kernel memory limit.
	KernelMemory string

	// Set meta data on a container.
	Label []string

	// Read in a line delimited file of labels.
	LabelFile []string

	// Add link to another container.
	Link []string

	// Container IPv4/IPv6 link-local addresses.
	LinkLocalIp []string

	// Logging driver for the container.
	LogDriver string

	// Log driver options.
	LogOpt []string

	// Container MAC address (e.g., 92:d0:c6:0a:29:33).
	MacAddress string

	// Memory limit.
	Memory string

	// Memory soft limit.
	MemoryReservation string

	// Swap limit equal to memory plus swap: '-1' to enable unlimited swap.
	MemorySwap string

	// Tune container memory swappiness (0 to 100).
	MemorySwappiness string

	// Attach a filesystem mount to the container.
	Mount string

	// Assign a name to the container.
	Name string

	// Connect a container to a network.
	Net string

	// Add network-scoped alias for the container.
	NetAlias []string

	// Connect a container to a network.
	Network string

	// Add network-scoped alias for the container.
	NetworkAlias []string

	// Disable any container-specified HEALTHCHECK.
	NoHealthcheck bool

	// Disable OOM Killer.
	OomKillDisable bool

	// Tune host's OOM preferences (-1000 to 1000).
	OomScoreAdj *int

	// PID namespace to use.
	Pid string

	// Tune container pids limit (set -1 for unlimited).
	PidsLimit string

	// Set platform if server is multi-platform capable.
	Platform string

	// Give extended privileges to this container.
	Privileged bool

	// Publish a container's port(s) to the host.
	Publish []string

	// Publish all exposed ports to random ports.
	PublishAll bool

	// Pull image before creating (`always`, `|missing`, `never`).
	Pull string

	// Suppress the pull output.
	Quiet bool

	// Mount the container's root filesystem as read only.
	ReadOnly bool

	// Restart policy to apply when a container exits.
	Restart string

	// Automatically remove the container when it exits.
	Rm bool

	// Runtime to use for this container.
	Runtime string

	// Security Options.
	SecurityOpt []string

	// Size of /dev/shm.
	ShmSize string

	// Signal to stop the container.
	StopSignal string

	// Timeout (in seconds) to stop a container.
	StopTimeout *int

	// Storage driver options for the container.
	StorageOpt []string

	// Sysctl options.
	Sysctl string

	// Mount a tmpfs directory.
	Tmpfs []string

	// Allocate a pseudo-TTY.
	Tty bool

	// Ulimit options.
	Ulimit string

	// Username or UID (format: <name|uid>[:<group|gid>]).
	User string

	// User namespace to use.
	Userns string

	// UTS namespace to use.
	Uts string

	// Bind mount a volume.
	Volume []string

	// Optional volume driver for the container.
	VolumeDriver string

	// Mount volumes from the specified container(s).
	VolumesFrom []string

	// Working directory inside the container.
	Workdir string
}

type DiffOpts

type DiffOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type DockerOpts

type DockerOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Location of client config files.
	Config string

	// Name of the context to use to connect to the daemon (overrides DOCKER_HOST env var and default context set with `docker context use`).
	Context string

	// Enable debug mode.
	Debug bool

	// Print usage.
	Help bool

	// Daemon socket to connect to.
	Host []string

	// Set the logging level (`debug`, `info`, `warn`, `error`, `fatal`).
	LogLevel string

	// Use TLS; implied by --tlsverify.
	Tls bool

	// Trust certs signed only by this CA.
	Tlscacert string

	// Path to TLS certificate file.
	Tlscert string

	// Path to TLS key file.
	Tlskey string

	// Use TLS and verify the remote.
	Tlsverify bool
}

type EventsOpts

type EventsOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Filter output based on conditions provided.
	Filter string

	// Format output using a custom template:
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Show all events created since timestamp.
	Since string

	// Stream events until this timestamp.
	Until string
}

type ExecOpts

type ExecOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Detached mode: run command in the background.
	Detach bool

	// Override the key sequence for detaching a container.
	DetachKeys string

	// Set environment variables.
	Env []string

	// Read in a file of environment variables.
	EnvFile []string

	// Print usage.
	Help bool

	// Keep STDIN open even if not attached.
	Interactive bool

	// Give extended privileges to the command.
	Privileged bool

	// Allocate a pseudo-TTY.
	Tty bool

	// Username or UID (format: `<name|uid>[:<group|gid>]`).
	User string

	// Working directory inside the container.
	Workdir string
}

type ExportOpts

type ExportOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool

	// Write to a file, instead of STDOUT.
	Output string
}

type HistoryOpts

type HistoryOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Format output using a custom template:
	// 'table':            Print output in table format with column headers (default).
	// 'table TEMPLATE':   Print output in table format using the given Go template.
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Print sizes and dates in human readable format.
	Human bool

	// Don't truncate output.
	NoTrunc bool

	// Only show image IDs.
	Quiet bool
}

type ImageBuildOpts

type ImageBuildOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Add a custom host-to-IP mapping (`host:ip`).
	AddHost []string

	// Set build-time variables.
	BuildArg []string

	// Images to consider as cache sources.
	CacheFrom string

	// Set the parent cgroup for the `RUN` instructions during build.
	CgroupParent string

	// Compress the build context using gzip.
	Compress bool

	// Limit the CPU CFS (Completely Fair Scheduler) period.
	CpuPeriod string

	// Limit the CPU CFS (Completely Fair Scheduler) quota.
	CpuQuota string

	// CPU shares (relative weight).
	CpuShares string

	// CPUs in which to allow execution (0-3, 0,1).
	CpusetCpus string

	// MEMs in which to allow execution (0-3, 0,1).
	CpusetMems string

	// Skip image verification.
	DisableContentTrust bool

	// Name of the Dockerfile (Default is `PATH/Dockerfile`).
	File string

	// Always remove intermediate containers.
	ForceRm bool

	// Print usage.
	Help bool

	// Write the image ID to the file.
	Iidfile string

	// Container isolation technology.
	Isolation string

	// Set metadata for an image.
	Label []string

	// Memory limit.
	Memory string

	// Swap limit equal to memory plus swap: -1 to enable unlimited swap.
	MemorySwap string

	// Set the networking mode for the RUN instructions during build.
	Network string

	// Do not use cache when building the image.
	NoCache bool

	// Set platform if server is multi-platform capable.
	Platform string

	// Always attempt to pull a newer version of the image.
	Pull bool

	// Suppress the build output and print image ID on success.
	Quiet bool

	// Remove intermediate containers after a successful build.
	Rm bool

	// Security options.
	SecurityOpt string

	// Size of `/dev/shm`.
	ShmSize string

	// Squash newly built layers into a single new layer.
	Squash bool

	// Name and optionally a tag in the `name:tag` format.
	Tag []string

	// Set the target build stage to build.
	Target string

	// Ulimit options.
	Ulimit string
}

type ImageHistoryOpts

type ImageHistoryOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Format output using a custom template:
	// 'table':            Print output in table format with column headers (default).
	// 'table TEMPLATE':   Print output in table format using the given Go template.
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Print sizes and dates in human readable format.
	Human bool

	// Don't truncate output.
	NoTrunc bool

	// Only show image IDs.
	Quiet bool
}

type ImageImportOpts

type ImageImportOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Apply Dockerfile instruction to the created image.
	Change []string

	// Print usage.
	Help bool

	// Set commit message for imported image.
	Message string

	// Set platform if server is multi-platform capable.
	Platform string
}

type ImageInspectOpts

type ImageInspectOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Format output using a custom template:
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool
}

type ImageLoadOpts

type ImageLoadOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool

	// Read from tar archive file, instead of STDIN.
	Input string

	// Suppress the load output.
	Quiet bool
}

type ImageLsOpts

type ImageLsOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Show all images (default hides intermediate images).
	All bool

	// Show digests.
	Digests bool

	// Filter output based on conditions provided.
	Filter string

	// Format output using a custom template:
	// 'table':            Print output in table format with column headers (default).
	// 'table TEMPLATE':   Print output in table format using the given Go template.
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Don't truncate output.
	NoTrunc bool

	// Only show image IDs.
	Quiet bool
}

type ImageOpts

type ImageOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type ImagePruneOpts

type ImagePruneOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Remove all unused images, not just dangling ones.
	All bool

	// Provide filter values (e.g. `until=<timestamp>`).
	Filter string

	// Do not prompt for confirmation.
	Force bool

	// Print usage.
	Help bool
}

type ImagePullOpts

type ImagePullOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Download all tagged images in the repository.
	AllTags bool

	// Skip image verification.
	DisableContentTrust bool

	// Print usage.
	Help bool

	// Set platform if server is multi-platform capable.
	Platform string

	// Suppress verbose output.
	Quiet bool
}

type ImagePushOpts

type ImagePushOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Push all tags of an image to the repository.
	AllTags bool

	// Skip image signing.
	DisableContentTrust bool

	// Print usage.
	Help bool

	// Suppress verbose output.
	Quiet bool
}

type ImageRmOpts

type ImageRmOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Force removal of the image.
	Force bool

	// Print usage.
	Help bool

	// Do not delete untagged parents.
	NoPrune bool
}

type ImageSaveOpts

type ImageSaveOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool

	// Write to a file, instead of STDOUT.
	Output string
}

type ImageTagOpts

type ImageTagOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type ImagesOpts

type ImagesOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Show all images (default hides intermediate images).
	All bool

	// Show digests.
	Digests bool

	// Filter output based on conditions provided.
	Filter string

	// Format output using a custom template:
	// 'table':            Print output in table format with column headers (default).
	// 'table TEMPLATE':   Print output in table format using the given Go template.
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Don't truncate output.
	NoTrunc bool

	// Only show image IDs.
	Quiet bool
}

type ImportOpts

type ImportOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Apply Dockerfile instruction to the created image.
	Change []string

	// Print usage.
	Help bool

	// Set commit message for imported image.
	Message string

	// Set platform if server is multi-platform capable.
	Platform string
}

type InfoOpts

type InfoOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Format output using a custom template:
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool
}

type InspectOpts

type InspectOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Format output using a custom template:
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Display total file sizes if the type is container.
	Size bool

	// Return JSON for specified type.
	Type string
}

type KillOpts

type KillOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool

	// Signal to send to the container.
	Signal string
}

type LoadOpts

type LoadOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool

	// Read from tar archive file, instead of STDIN.
	Input string

	// Suppress the load output.
	Quiet bool
}

type LoginOpts

type LoginOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool

	// Password.
	Password string

	// Take the password from stdin.
	PasswordStdin bool

	// Username.
	Username string
}

type LogoutOpts

type LogoutOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type LogsOpts

type LogsOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Show extra details provided to logs.
	Details bool

	// Follow log output.
	Follow bool

	// Print usage.
	Help bool

	// Show logs since timestamp (e.g. `2013-01-02T13:23:37Z`) or relative (e.g. `42m` for 42 minutes).
	Since string

	// Number of lines to show from the end of the logs.
	Tail string

	// Show timestamps.
	Timestamps bool

	// Show logs before a timestamp (e.g. `2013-01-02T13:23:37Z`) or relative (e.g. `42m` for 42 minutes).
	Until string
}

type ManifestAnnotateOpts

type ManifestAnnotateOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Set architecture.
	Arch string

	// Print usage.
	Help bool

	// Set operating system.
	Os string

	// Set operating system feature.
	OsFeatures string

	// Set operating system version.
	OsVersion string

	// Set architecture variant.
	Variant string
}

type ManifestCreateOpts

type ManifestCreateOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Amend an existing manifest list.
	Amend bool

	// Print usage.
	Help bool

	// Allow communication with an insecure registry.
	Insecure bool
}

type ManifestInspectOpts

type ManifestInspectOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool

	// Allow communication with an insecure registry.
	Insecure bool

	// Output additional info including layers and platform.
	Verbose bool
}

type ManifestOpts

type ManifestOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type ManifestPushOpts

type ManifestPushOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool

	// Allow push to an insecure registry.
	Insecure bool

	// Remove the local manifest list after push.
	Purge bool
}

type ManifestRmOpts

type ManifestRmOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type NetworkConnectOpts

type NetworkConnectOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Add network-scoped alias for the container.
	Alias string

	// driver options for the network.
	DriverOpt string

	// Print usage.
	Help bool

	// IPv4 address (e.g., `172.30.100.104`).
	Ip string

	// IPv6 address (e.g., `2001:db8::33`).
	Ip6 string

	// Add link to another container.
	Link []string

	// Add a link-local address for the container.
	LinkLocalIp string
}

type NetworkCreateOpts

type NetworkCreateOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Enable manual container attachment.
	Attachable bool

	// Auxiliary IPv4 or IPv6 addresses used by Network driver.
	AuxAddress string

	// The network from which to copy the configuration.
	ConfigFrom string

	// Create a configuration only network.
	ConfigOnly bool

	// Driver to manage the Network.
	Driver string

	// IPv4 or IPv6 Gateway for the master subnet.
	Gateway string

	// Print usage.
	Help bool

	// Create swarm routing-mesh network.
	Ingress bool

	// Restrict external access to the network.
	Internal bool

	// Allocate container ip from a sub-range.
	IpRange string

	// IP Address Management Driver.
	IpamDriver string

	// Set IPAM driver specific options.
	IpamOpt string

	// Enable IPv6 networking.
	Ipv6 bool

	// Set metadata on a network.
	Label []string

	// Set driver specific options.
	Opt string

	// Control the network's scope.
	Scope string

	// Subnet in CIDR format that represents a network segment.
	Subnet string
}

type NetworkDisconnectOpts

type NetworkDisconnectOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Force the container to disconnect from a network.
	Force bool

	// Print usage.
	Help bool
}

type NetworkInspectOpts

type NetworkInspectOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Format output using a custom template:
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Verbose output for diagnostics.
	Verbose bool
}

type NetworkLsOpts

type NetworkLsOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Provide filter values (e.g. `driver=bridge`).
	Filter string

	// Format output using a custom template:
	// 'table':            Print output in table format with column headers (default).
	// 'table TEMPLATE':   Print output in table format using the given Go template.
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Do not truncate the output.
	NoTrunc bool

	// Only display network IDs.
	Quiet bool
}

type NetworkOpts

type NetworkOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type NetworkPruneOpts

type NetworkPruneOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Provide filter values (e.g. `until=<timestamp>`).
	Filter string

	// Do not prompt for confirmation.
	Force bool

	// Print usage.
	Help bool
}

type NetworkRmOpts

type NetworkRmOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Do not error if the network does not exist.
	Force bool

	// Print usage.
	Help bool
}

type NodeDemoteOpts

type NodeDemoteOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type NodeInspectOpts

type NodeInspectOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Format output using a custom template:
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Print the information in a human friendly format.
	Pretty bool
}

type NodeLsOpts

type NodeLsOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Filter output based on conditions provided.
	Filter string

	// Format output using a custom template:
	// 'table':            Print output in table format with column headers (default).
	// 'table TEMPLATE':   Print output in table format using the given Go template.
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Only display IDs.
	Quiet bool
}

type NodeOpts

type NodeOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type NodePromoteOpts

type NodePromoteOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type NodePsOpts

type NodePsOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Filter output based on conditions provided.
	Filter string

	// Pretty-print tasks using a Go template.
	Format string

	// Print usage.
	Help bool

	// Do not map IDs to Names.
	NoResolve bool

	// Do not truncate output.
	NoTrunc bool

	// Only display task IDs.
	Quiet bool
}

type NodeRmOpts

type NodeRmOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Force remove a node from the swarm.
	Force bool

	// Print usage.
	Help bool
}

type NodeUpdateOpts

type NodeUpdateOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Availability of the node (`active`, `pause`, `drain`).
	Availability string

	// Print usage.
	Help bool

	// Add or update a node label (`key=value`).
	LabelAdd []string

	// Remove a node label if exists.
	LabelRm []string

	// Role of the node (`worker`, `manager`).
	Role string
}

type PauseOpts

type PauseOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type PluginCreateOpts

type PluginCreateOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Compress the context using gzip.
	Compress bool

	// Print usage.
	Help bool
}

type PluginDisableOpts

type PluginDisableOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Force the disable of an active plugin.
	Force bool

	// Print usage.
	Help bool
}

type PluginEnableOpts

type PluginEnableOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool

	// HTTP client timeout (in seconds).
	Timeout *int
}

type PluginInspectOpts

type PluginInspectOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Format output using a custom template:
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool
}

type PluginInstallOpts

type PluginInstallOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Local name for plugin.
	Alias string

	// Do not enable the plugin on install.
	Disable bool

	// Skip image verification.
	DisableContentTrust bool

	// Grant all permissions necessary to run the plugin.
	GrantAllPermissions bool

	// Print usage.
	Help bool
}

type PluginLsOpts

type PluginLsOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Provide filter values (e.g. `enabled=true`).
	Filter string

	// Format output using a custom template:
	// 'table':            Print output in table format with column headers (default).
	// 'table TEMPLATE':   Print output in table format using the given Go template.
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Don't truncate output.
	NoTrunc bool

	// Only display plugin IDs.
	Quiet bool
}

type PluginOpts

type PluginOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type PluginPushOpts

type PluginPushOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Skip image signing.
	DisableContentTrust bool

	// Print usage.
	Help bool
}

type PluginRmOpts

type PluginRmOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Force the removal of an active plugin.
	Force bool

	// Print usage.
	Help bool
}

type PluginSetOpts

type PluginSetOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type PluginUpgradeOpts

type PluginUpgradeOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Skip image verification.
	DisableContentTrust bool

	// Grant all permissions necessary to run the plugin.
	GrantAllPermissions bool

	// Print usage.
	Help bool

	// Do not check if specified remote plugin matches existing plugin image.
	SkipRemoteCheck bool
}

type PortOpts

type PortOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type PsOpts

type PsOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Show all containers (default shows just running).
	All bool

	// Filter output based on conditions provided.
	Filter string

	// Format output using a custom template:
	// 'table':            Print output in table format with column headers (default).
	// 'table TEMPLATE':   Print output in table format using the given Go template.
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Show n last created containers (includes all states).
	Last *int

	// Show the latest created container (includes all states).
	Latest bool

	// Don't truncate output.
	NoTrunc bool

	// Only display container IDs.
	Quiet bool

	// Display total file sizes.
	Size bool
}

type PullOpts

type PullOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Download all tagged images in the repository.
	AllTags bool

	// Skip image verification.
	DisableContentTrust bool

	// Print usage.
	Help bool

	// Set platform if server is multi-platform capable.
	Platform string

	// Suppress verbose output.
	Quiet bool
}

type PushOpts

type PushOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Push all tags of an image to the repository.
	AllTags bool

	// Skip image signing.
	DisableContentTrust bool

	// Print usage.
	Help bool

	// Suppress verbose output.
	Quiet bool
}

type RenameOpts

type RenameOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type RestartOpts

type RestartOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool

	// Signal to send to the container.
	Signal string

	// Seconds to wait before killing the container.
	Time *int
}

type RmOpts

type RmOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Force the removal of a running container (uses SIGKILL).
	Force bool

	// Print usage.
	Help bool

	// Remove the specified link.
	Link bool

	// Remove anonymous volumes associated with the container.
	Volumes bool
}

type RmiOpts

type RmiOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Force removal of the image.
	Force bool

	// Print usage.
	Help bool

	// Do not delete untagged parents.
	NoPrune bool
}

type RunOpts

type RunOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Add a custom host-to-IP mapping (host:ip).
	AddHost []string

	// Add an annotation to the container (passed through to the OCI runtime).
	Annotation string

	// Attach to STDIN, STDOUT or STDERR.
	Attach []string

	// Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0).
	BlkioWeight string

	// Block IO weight (relative device weight).
	BlkioWeightDevice []string

	// Add Linux capabilities.
	CapAdd []string

	// Drop Linux capabilities.
	CapDrop []string

	// Optional parent cgroup for the container.
	CgroupParent string

	// Cgroup namespace to use (host|private).
	// 'host':    Run the container in the Docker host's cgroup namespace.
	// 'private': Run the container in its own private cgroup namespace.
	// ”:        Use the cgroup namespace as configured by the.
	// default-cgroupns-mode option on the daemon (default).
	Cgroupns string

	// Write the container ID to the file.
	Cidfile string

	// CPU count (Windows only).
	CpuCount string

	// CPU percent (Windows only).
	CpuPercent string

	// Limit CPU CFS (Completely Fair Scheduler) period.
	CpuPeriod string

	// Limit CPU CFS (Completely Fair Scheduler) quota.
	CpuQuota string

	// Limit CPU real-time period in microseconds.
	CpuRtPeriod string

	// Limit CPU real-time runtime in microseconds.
	CpuRtRuntime string

	// CPU shares (relative weight).
	CpuShares string

	// Number of CPUs.
	Cpus string

	// CPUs in which to allow execution (0-3, 0,1).
	CpusetCpus string

	// MEMs in which to allow execution (0-3, 0,1).
	CpusetMems string

	// Run container in background and print container ID.
	Detach bool

	// Override the key sequence for detaching a container.
	DetachKeys string

	// Add a host device to the container.
	Device []string

	// Add a rule to the cgroup allowed devices list.
	DeviceCgroupRule []string

	// Limit read rate (bytes per second) from a device.
	DeviceReadBps []string

	// Limit read rate (IO per second) from a device.
	DeviceReadIops []string

	// Limit write rate (bytes per second) to a device.
	DeviceWriteBps []string

	// Limit write rate (IO per second) to a device.
	DeviceWriteIops []string

	// Skip image verification.
	DisableContentTrust bool

	// Set custom DNS servers.
	Dns []string

	// Set DNS options.
	DnsOpt []string

	// Set DNS options.
	DnsOption []string

	// Set custom DNS search domains.
	DnsSearch []string

	// Container NIS domain name.
	Domainname string

	// Overwrite the default ENTRYPOINT of the image.
	Entrypoint string

	// Set environment variables.
	Env []string

	// Read in a file of environment variables.
	EnvFile []string

	// Expose a port or a range of ports.
	Expose []string

	// GPU devices to add to the container ('all' to pass all GPUs).
	Gpus string

	// Add additional groups to join.
	GroupAdd []string

	// Command to run to check health.
	HealthCmd string

	// Time between running the check (ms|s|m|h) (default 0s).
	HealthInterval string

	// Consecutive failures needed to report unhealthy.
	HealthRetries *int

	// Time between running the check during the start period (ms|s|m|h) (default 0s).
	HealthStartInterval string

	// Start period for the container to initialize before starting health-retries countdown (ms|s|m|h) (default 0s).
	HealthStartPeriod string

	// Maximum time to allow one check to run (ms|s|m|h) (default 0s).
	HealthTimeout string

	// Print usage.
	Help bool

	// Container host name.
	Hostname string

	// Run an init inside the container that forwards signals and reaps processes.
	Init bool

	// Keep STDIN open even if not attached.
	Interactive bool

	// Maximum IO bandwidth limit for the system drive (Windows only).
	IoMaxbandwidth string

	// Maximum IOps limit for the system drive (Windows only).
	IoMaxiops string

	// IPv4 address (e.g., 172.30.100.104).
	Ip string

	// IPv6 address (e.g., 2001:db8::33).
	Ip6 string

	// IPC mode to use.
	Ipc string

	// Container isolation technology.
	Isolation string

	// Kernel memory limit.
	KernelMemory string

	// Set meta data on a container.
	Label []string

	// Read in a line delimited file of labels.
	LabelFile []string

	// Add link to another container.
	Link []string

	// Container IPv4/IPv6 link-local addresses.
	LinkLocalIp []string

	// Logging driver for the container.
	LogDriver string

	// Log driver options.
	LogOpt []string

	// Container MAC address (e.g., 92:d0:c6:0a:29:33).
	MacAddress string

	// Memory limit.
	Memory string

	// Memory soft limit.
	MemoryReservation string

	// Swap limit equal to memory plus swap: '-1' to enable unlimited swap.
	MemorySwap string

	// Tune container memory swappiness (0 to 100).
	MemorySwappiness string

	// Attach a filesystem mount to the container.
	Mount string

	// Assign a name to the container.
	Name string

	// Connect a container to a network.
	Net string

	// Add network-scoped alias for the container.
	NetAlias []string

	// Connect a container to a network.
	Network string

	// Add network-scoped alias for the container.
	NetworkAlias []string

	// Disable any container-specified HEALTHCHECK.
	NoHealthcheck bool

	// Disable OOM Killer.
	OomKillDisable bool

	// Tune host's OOM preferences (-1000 to 1000).
	OomScoreAdj *int

	// PID namespace to use.
	Pid string

	// Tune container pids limit (set -1 for unlimited).
	PidsLimit string

	// Set platform if server is multi-platform capable.
	Platform string

	// Give extended privileges to this container.
	Privileged bool

	// Publish a container's port(s) to the host.
	Publish []string

	// Publish all exposed ports to random ports.
	PublishAll bool

	// Pull image before running (`always`, `missing`, `never`).
	Pull string

	// Suppress the pull output.
	Quiet bool

	// Mount the container's root filesystem as read only.
	ReadOnly bool

	// Restart policy to apply when a container exits.
	Restart string

	// Automatically remove the container when it exits.
	Rm bool

	// Runtime to use for this container.
	Runtime string

	// Security Options.
	SecurityOpt []string

	// Size of /dev/shm.
	ShmSize string

	// Proxy received signals to the process.
	SigProxy bool

	// Signal to stop the container.
	StopSignal string

	// Timeout (in seconds) to stop a container.
	StopTimeout *int

	// Storage driver options for the container.
	StorageOpt []string

	// Sysctl options.
	Sysctl string

	// Mount a tmpfs directory.
	Tmpfs []string

	// Allocate a pseudo-TTY.
	Tty bool

	// Ulimit options.
	Ulimit string

	// Username or UID (format: <name|uid>[:<group|gid>]).
	User string

	// User namespace to use.
	Userns string

	// UTS namespace to use.
	Uts string

	// Bind mount a volume.
	Volume []string

	// Optional volume driver for the container.
	VolumeDriver string

	// Mount volumes from the specified container(s).
	VolumesFrom []string

	// Working directory inside the container.
	Workdir string
}

type SaveOpts

type SaveOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool

	// Write to a file, instead of STDOUT.
	Output string
}

type SearchOpts

type SearchOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Filter output based on conditions provided.
	Filter string

	// Pretty-print search using a Go template.
	Format string

	// Print usage.
	Help bool

	// Max number of search results.
	Limit *int

	// Don't truncate output.
	NoTrunc bool
}

type SecretCreateOpts

type SecretCreateOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Secret driver.
	Driver string

	// Print usage.
	Help bool

	// Secret labels.
	Label []string

	// Template driver.
	TemplateDriver string
}

type SecretInspectOpts

type SecretInspectOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Format output using a custom template:
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Print the information in a human friendly format.
	Pretty bool
}

type SecretLsOpts

type SecretLsOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Filter output based on conditions provided.
	Filter string

	// Format output using a custom template:
	// 'table':            Print output in table format with column headers (default).
	// 'table TEMPLATE':   Print output in table format using the given Go template.
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Only display IDs.
	Quiet bool
}

type SecretOpts

type SecretOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type SecretRmOpts

type SecretRmOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type ServiceCreateOpts

type ServiceCreateOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Add Linux capabilities.
	CapAdd []string

	// Drop Linux capabilities.
	CapDrop []string

	// Specify configurations to expose to the service.
	Config string

	// Placement constraints.
	Constraint []string

	// Container labels.
	ContainerLabel []string

	// Credential spec for managed service account (Windows only).
	CredentialSpec string

	// Exit immediately instead of waiting for the service to converge.
	Detach bool

	// Set custom DNS servers.
	Dns []string

	// Set DNS options.
	DnsOption []string

	// Set custom DNS search domains.
	DnsSearch []string

	// Endpoint mode (vip or dnsrr).
	EndpointMode string

	// Overwrite the default ENTRYPOINT of the image.
	Entrypoint string

	// Set environment variables.
	Env []string

	// Read in a file of environment variables.
	EnvFile []string

	// User defined resources.
	GenericResource []string

	// Set one or more supplementary user groups for the container.
	Group []string

	// Command to run to check health.
	HealthCmd string

	// Time between running the check (ms|s|m|h).
	HealthInterval string

	// Consecutive failures needed to report unhealthy.
	HealthRetries *int

	// Time between running the check during the start period (ms|s|m|h).
	HealthStartInterval string

	// Start period for the container to initialize before counting retries towards unstable (ms|s|m|h).
	HealthStartPeriod string

	// Maximum time to allow one check to run (ms|s|m|h).
	HealthTimeout string

	// Print usage.
	Help bool

	// Set one or more custom host-to-IP mappings (host:ip).
	Host []string

	// Container hostname.
	Hostname string

	// Use an init inside each service container to forward signals and reap processes.
	Init bool

	// Service container isolation mode.
	Isolation string

	// Service labels.
	Label []string

	// Limit CPUs.
	LimitCpu string

	// Limit Memory.
	LimitMemory string

	// Limit maximum number of processes (default 0 = unlimited).
	LimitPids string

	// Logging driver for service.
	LogDriver string

	// Logging driver options.
	LogOpt []string

	// Number of job tasks to run concurrently (default equal to --replicas).
	MaxConcurrent string

	// Service mode (`replicated`, `global`, `replicated-job`, `global-job`).
	Mode string

	// Attach a filesystem mount to the service.
	Mount string

	// Service name.
	Name string

	// Network attachments.
	Network string

	// Disable any container-specified HEALTHCHECK.
	NoHealthcheck bool

	// Do not query the registry to resolve image digest and supported platforms.
	NoResolveImage bool

	// Add a placement preference.
	PlacementPref string

	// Publish a port as a node port.
	Publish string

	// Suppress progress output.
	Quiet bool

	// Mount the container's root filesystem as read only.
	ReadOnly bool

	// Number of tasks.
	Replicas string

	// Maximum number of tasks per node (default 0 = unlimited).
	ReplicasMaxPerNode string

	// Reserve CPUs.
	ReserveCpu string

	// Reserve Memory.
	ReserveMemory string

	// Restart when condition is met (`none`, `on-failure`, `any`) (default `any`).
	RestartCondition string

	// Delay between restart attempts (ns|us|ms|s|m|h) (default 5s).
	RestartDelay string

	// Maximum number of restarts before giving up.
	RestartMaxAttempts string

	// Window used to evaluate the restart policy (ns|us|ms|s|m|h).
	RestartWindow string

	// Delay between task rollbacks (ns|us|ms|s|m|h) (default 0s).
	RollbackDelay string

	// Action on rollback failure (`pause`, `continue`) (default `pause`).
	RollbackFailureAction string

	// Failure rate to tolerate during a rollback (default 0).
	RollbackMaxFailureRatio string

	// Duration after each task rollback to monitor for failure (ns|us|ms|s|m|h) (default 5s).
	RollbackMonitor string

	// Rollback order (`start-first`, `stop-first`) (default `stop-first`).
	RollbackOrder string

	// Maximum number of tasks rolled back simultaneously (0 to roll back all at once).
	RollbackParallelism string

	// Specify secrets to expose to the service.
	Secret string

	// Time to wait before force killing a container (ns|us|ms|s|m|h) (default 10s).
	StopGracePeriod string

	// Signal to stop the container.
	StopSignal string

	// Sysctl options.
	Sysctl []string

	// Allocate a pseudo-TTY.
	Tty bool

	// Ulimit options.
	Ulimit string

	// Delay between updates (ns|us|ms|s|m|h) (default 0s).
	UpdateDelay string

	// Action on update failure (`pause`, `continue`, `rollback`) (default `pause`).
	UpdateFailureAction string

	// Failure rate to tolerate during an update (default 0).
	UpdateMaxFailureRatio string

	// Duration after each task update to monitor for failure (ns|us|ms|s|m|h) (default 5s).
	UpdateMonitor string

	// Update order (`start-first`, `stop-first`) (default `stop-first`).
	UpdateOrder string

	// Maximum number of tasks updated simultaneously (0 to update all at once).
	UpdateParallelism string

	// Username or UID (format: <name|uid>[:<group|gid>]).
	User string

	// Send registry authentication details to swarm agents.
	WithRegistryAuth bool

	// Working directory inside the container.
	Workdir string
}

type ServiceInspectOpts

type ServiceInspectOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Format output using a custom template:
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Print the information in a human friendly format.
	Pretty bool
}

type ServiceLogsOpts

type ServiceLogsOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Show extra details provided to logs.
	Details bool

	// Follow log output.
	Follow bool

	// Print usage.
	Help bool

	// Do not map IDs to Names in output.
	NoResolve bool

	// Do not include task IDs in output.
	NoTaskIds bool

	// Do not truncate output.
	NoTrunc bool

	// Do not neatly format logs.
	Raw bool

	// Show logs since timestamp (e.g. `2013-01-02T13:23:37Z`) or relative (e.g. `42m` for 42 minutes).
	Since string

	// Number of lines to show from the end of the logs.
	Tail string

	// Show timestamps.
	Timestamps bool
}

type ServiceLsOpts

type ServiceLsOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Filter output based on conditions provided.
	Filter string

	// Format output using a custom template:
	// 'table':            Print output in table format with column headers (default).
	// 'table TEMPLATE':   Print output in table format using the given Go template.
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Only display IDs.
	Quiet bool
}

type ServiceOpts

type ServiceOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type ServicePsOpts

type ServicePsOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Filter output based on conditions provided.
	Filter string

	// Pretty-print tasks using a Go template.
	Format string

	// Print usage.
	Help bool

	// Do not map IDs to Names.
	NoResolve bool

	// Do not truncate output.
	NoTrunc bool

	// Only display task IDs.
	Quiet bool
}

type ServiceRmOpts

type ServiceRmOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type ServiceRollbackOpts

type ServiceRollbackOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Exit immediately instead of waiting for the service to converge.
	Detach bool

	// Print usage.
	Help bool

	// Suppress progress output.
	Quiet bool
}

type ServiceScaleOpts

type ServiceScaleOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Exit immediately instead of waiting for the service to converge.
	Detach bool

	// Print usage.
	Help bool
}

type ServiceUpdateOpts

type ServiceUpdateOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Service command args.
	Args string

	// Add Linux capabilities.
	CapAdd []string

	// Drop Linux capabilities.
	CapDrop []string

	// Add or update a config file on a service.
	ConfigAdd string

	// Remove a configuration file.
	ConfigRm []string

	// Add or update a placement constraint.
	ConstraintAdd []string

	// Remove a constraint.
	ConstraintRm []string

	// Add or update a container label.
	ContainerLabelAdd []string

	// Remove a container label by its key.
	ContainerLabelRm []string

	// Credential spec for managed service account (Windows only).
	CredentialSpec string

	// Exit immediately instead of waiting for the service to converge.
	Detach bool

	// Add or update a custom DNS server.
	DnsAdd []string

	// Add or update a DNS option.
	DnsOptionAdd []string

	// Remove a DNS option.
	DnsOptionRm []string

	// Remove a custom DNS server.
	DnsRm []string

	// Add or update a custom DNS search domain.
	DnsSearchAdd []string

	// Remove a DNS search domain.
	DnsSearchRm []string

	// Endpoint mode (vip or dnsrr).
	EndpointMode string

	// Overwrite the default ENTRYPOINT of the image.
	Entrypoint string

	// Add or update an environment variable.
	EnvAdd []string

	// Remove an environment variable.
	EnvRm []string

	// Force update even if no changes require it.
	Force bool

	// Add a Generic resource.
	GenericResourceAdd []string

	// Remove a Generic resource.
	GenericResourceRm []string

	// Add an additional supplementary user group to the container.
	GroupAdd []string

	// Remove a previously added supplementary user group from the container.
	GroupRm []string

	// Command to run to check health.
	HealthCmd string

	// Time between running the check (ms|s|m|h).
	HealthInterval string

	// Consecutive failures needed to report unhealthy.
	HealthRetries *int

	// Time between running the check during the start period (ms|s|m|h).
	HealthStartInterval string

	// Start period for the container to initialize before counting retries towards unstable (ms|s|m|h).
	HealthStartPeriod string

	// Maximum time to allow one check to run (ms|s|m|h).
	HealthTimeout string

	// Print usage.
	Help bool

	// Add a custom host-to-IP mapping (`host:ip`).
	HostAdd []string

	// Remove a custom host-to-IP mapping (`host:ip`).
	HostRm []string

	// Container hostname.
	Hostname string

	// Service image tag.
	Image string

	// Use an init inside each service container to forward signals and reap processes.
	Init bool

	// Service container isolation mode.
	Isolation string

	// Add or update a service label.
	LabelAdd []string

	// Remove a label by its key.
	LabelRm []string

	// Limit CPUs.
	LimitCpu string

	// Limit Memory.
	LimitMemory string

	// Limit maximum number of processes (default 0 = unlimited).
	LimitPids string

	// Logging driver for service.
	LogDriver string

	// Logging driver options.
	LogOpt []string

	// Number of job tasks to run concurrently (default equal to --replicas).
	MaxConcurrent string

	// Add or update a mount on a service.
	MountAdd string

	// Remove a mount by its target path.
	MountRm []string

	// Add a network.
	NetworkAdd string

	// Remove a network.
	NetworkRm []string

	// Disable any container-specified HEALTHCHECK.
	NoHealthcheck bool

	// Do not query the registry to resolve image digest and supported platforms.
	NoResolveImage bool

	// Add a placement preference.
	PlacementPrefAdd string

	// Remove a placement preference.
	PlacementPrefRm string

	// Add or update a published port.
	PublishAdd string

	// Remove a published port by its target port.
	PublishRm string

	// Suppress progress output.
	Quiet bool

	// Mount the container's root filesystem as read only.
	ReadOnly bool

	// Number of tasks.
	Replicas string

	// Maximum number of tasks per node (default 0 = unlimited).
	ReplicasMaxPerNode string

	// Reserve CPUs.
	ReserveCpu string

	// Reserve Memory.
	ReserveMemory string

	// Restart when condition is met (`none`, `on-failure`, `any`).
	RestartCondition string

	// Delay between restart attempts (ns|us|ms|s|m|h).
	RestartDelay string

	// Maximum number of restarts before giving up.
	RestartMaxAttempts string

	// Window used to evaluate the restart policy (ns|us|ms|s|m|h).
	RestartWindow string

	// Rollback to previous specification.
	Rollback bool

	// Delay between task rollbacks (ns|us|ms|s|m|h).
	RollbackDelay string

	// Action on rollback failure (`pause`, `continue`).
	RollbackFailureAction string

	// Failure rate to tolerate during a rollback.
	RollbackMaxFailureRatio string

	// Duration after each task rollback to monitor for failure (ns|us|ms|s|m|h).
	RollbackMonitor string

	// Rollback order (`start-first`, `stop-first`).
	RollbackOrder string

	// Maximum number of tasks rolled back simultaneously (0 to roll back all at once).
	RollbackParallelism string

	// Add or update a secret on a service.
	SecretAdd string

	// Remove a secret.
	SecretRm []string

	// Time to wait before force killing a container (ns|us|ms|s|m|h).
	StopGracePeriod string

	// Signal to stop the container.
	StopSignal string

	// Add or update a Sysctl option.
	SysctlAdd []string

	// Remove a Sysctl option.
	SysctlRm []string

	// Allocate a pseudo-TTY.
	Tty bool

	// Add or update a ulimit option.
	UlimitAdd string

	// Remove a ulimit option.
	UlimitRm []string

	// Delay between updates (ns|us|ms|s|m|h).
	UpdateDelay string

	// Action on update failure (`pause`, `continue`, `rollback`).
	UpdateFailureAction string

	// Failure rate to tolerate during an update.
	UpdateMaxFailureRatio string

	// Duration after each task update to monitor for failure (ns|us|ms|s|m|h).
	UpdateMonitor string

	// Update order (`start-first`, `stop-first`).
	UpdateOrder string

	// Maximum number of tasks updated simultaneously (0 to update all at once).
	UpdateParallelism string

	// Username or UID (format: <name|uid>[:<group|gid>]).
	User string

	// Send registry authentication details to swarm agents.
	WithRegistryAuth bool

	// Working directory inside the container.
	Workdir string
}

type StackConfigOpts

type StackConfigOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Path to a Compose file, or `-` to read from stdin.
	ComposeFile string

	// Print usage.
	Help bool

	// Orchestrator to use (swarm|all).
	Orchestrator string

	// Skip interpolation and output only merged config.
	SkipInterpolation bool
}

type StackDeployOpts

type StackDeployOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Path to a Compose file, or `-` to read from stdin.
	ComposeFile string

	// Exit immediately instead of waiting for the stack services to converge.
	Detach bool

	// Print usage.
	Help bool

	// Orchestrator to use (swarm|all).
	Orchestrator string

	// Prune services that are no longer referenced.
	Prune bool

	// Suppress progress output.
	Quiet bool

	// Query the registry to resolve image digest and supported platforms (`always`, `changed`, `never`).
	ResolveImage string

	// Send registry authentication details to Swarm agents.
	WithRegistryAuth bool
}

type StackLsOpts

type StackLsOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Format output using a custom template:
	// 'table':            Print output in table format with column headers (default).
	// 'table TEMPLATE':   Print output in table format using the given Go template.
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Orchestrator to use (swarm|all).
	Orchestrator string
}

type StackOpts

type StackOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool

	// Orchestrator to use (swarm|all).
	Orchestrator string
}

type StackPsOpts

type StackPsOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Filter output based on conditions provided.
	Filter string

	// Format output using a custom template:
	// 'table':            Print output in table format with column headers (default).
	// 'table TEMPLATE':   Print output in table format using the given Go template.
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Do not map IDs to Names.
	NoResolve bool

	// Do not truncate output.
	NoTrunc bool

	// Orchestrator to use (swarm|all).
	Orchestrator string

	// Only display task IDs.
	Quiet bool
}

type StackRmOpts

type StackRmOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Do not wait for stack removal.
	Detach bool

	// Print usage.
	Help bool

	// Orchestrator to use (swarm|all).
	Orchestrator string
}

type StackServicesOpts

type StackServicesOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Filter output based on conditions provided.
	Filter string

	// Format output using a custom template:
	// 'table':            Print output in table format with column headers (default).
	// 'table TEMPLATE':   Print output in table format using the given Go template.
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Orchestrator to use (swarm|all).
	Orchestrator string

	// Only display IDs.
	Quiet bool
}

type StartOpts

type StartOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Attach STDOUT/STDERR and forward signals.
	Attach bool

	// Restore from this checkpoint.
	Checkpoint string

	// Use a custom checkpoint storage directory.
	CheckpointDir string

	// Override the key sequence for detaching a container.
	DetachKeys string

	// Print usage.
	Help bool

	// Attach container's STDIN.
	Interactive bool
}

type StatsOpts

type StatsOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Show all containers (default shows just running).
	All bool

	// Format output using a custom template:
	// 'table':            Print output in table format with column headers (default).
	// 'table TEMPLATE':   Print output in table format using the given Go template.
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Disable streaming stats and only pull the first result.
	NoStream bool

	// Do not truncate output.
	NoTrunc bool
}

type StopOpts

type StopOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool

	// Signal to send to the container.
	Signal string

	// Seconds to wait before killing the container.
	Time *int
}

type SwarmCaOpts

type SwarmCaOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Path to the PEM-formatted root CA certificate to use for the new cluster.
	CaCert string

	// Path to the PEM-formatted root CA key to use for the new cluster.
	CaKey string

	// Validity period for node certificates (ns|us|ms|s|m|h).
	CertExpiry string

	// Exit immediately instead of waiting for the root rotation to converge.
	Detach bool

	// Specifications of one or more certificate signing endpoints.
	ExternalCa string

	// Print usage.
	Help bool

	// Suppress progress output.
	Quiet bool

	// Rotate the swarm CA - if no certificate or key are provided, new ones will be generated.
	Rotate bool
}

type SwarmInitOpts

type SwarmInitOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Advertised address (format: `<ip|interface>[:port]`).
	AdvertiseAddr string

	// Enable manager autolocking (requiring an unlock key to start a stopped manager).
	Autolock bool

	// Availability of the node (`active`, `pause`, `drain`).
	Availability string

	// Validity period for node certificates (ns|us|ms|s|m|h).
	CertExpiry string

	// Address or interface to use for data path traffic (format: `<ip|interface>`).
	DataPathAddr string

	// Port number to use for data path traffic (1024 - 49151). If no value is set or is set to 0, the default port (4789) is used.
	DataPathPort string

	// default address pool in CIDR format.
	DefaultAddrPool string

	// default address pool subnet mask length.
	DefaultAddrPoolMaskLength string

	// Dispatcher heartbeat period (ns|us|ms|s|m|h).
	DispatcherHeartbeat string

	// Specifications of one or more certificate signing endpoints.
	ExternalCa string

	// Force create a new cluster from current state.
	ForceNewCluster bool

	// Print usage.
	Help bool

	// Listen address (format: `<ip|interface>[:port]`).
	ListenAddr string

	// Number of additional Raft snapshots to retain.
	MaxSnapshots string

	// Number of log entries between Raft snapshots.
	SnapshotInterval string

	// Task history retention limit.
	TaskHistoryLimit string
}

type SwarmJoinOpts

type SwarmJoinOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Advertised address (format: `<ip|interface>[:port]`).
	AdvertiseAddr string

	// Availability of the node (`active`, `pause`, `drain`).
	Availability string

	// Address or interface to use for data path traffic (format: `<ip|interface>`).
	DataPathAddr string

	// Print usage.
	Help bool

	// Listen address (format: `<ip|interface>[:port]`).
	ListenAddr string

	// Token for entry into the swarm.
	Token string
}

type SwarmJoinTokenOpts

type SwarmJoinTokenOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool

	// Only display token.
	Quiet bool

	// Rotate join token.
	Rotate bool
}

type SwarmLeaveOpts

type SwarmLeaveOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Force this node to leave the swarm, ignoring warnings.
	Force bool

	// Print usage.
	Help bool
}

type SwarmOpts

type SwarmOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type SwarmUnlockKeyOpts

type SwarmUnlockKeyOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool

	// Only display token.
	Quiet bool

	// Rotate unlock key.
	Rotate bool
}

type SwarmUnlockOpts

type SwarmUnlockOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type SwarmUpdateOpts

type SwarmUpdateOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Change manager autolocking setting (true|false).
	Autolock bool

	// Validity period for node certificates (ns|us|ms|s|m|h).
	CertExpiry string

	// Dispatcher heartbeat period (ns|us|ms|s|m|h).
	DispatcherHeartbeat string

	// Specifications of one or more certificate signing endpoints.
	ExternalCa string

	// Print usage.
	Help bool

	// Number of additional Raft snapshots to retain.
	MaxSnapshots string

	// Number of log entries between Raft snapshots.
	SnapshotInterval string

	// Task history retention limit.
	TaskHistoryLimit string
}

type SystemDfOpts

type SystemDfOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Format output using a custom template:
	// 'table':            Print output in table format with column headers (default).
	// 'table TEMPLATE':   Print output in table format using the given Go template.
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Show detailed information on space usage.
	Verbose bool
}

type SystemDialStdioOpts

type SystemDialStdioOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type SystemEventsOpts

type SystemEventsOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Filter output based on conditions provided.
	Filter string

	// Format output using a custom template:
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Show all events created since timestamp.
	Since string

	// Stream events until this timestamp.
	Until string
}

type SystemInfoOpts

type SystemInfoOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Format output using a custom template:
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool
}

type SystemOpts

type SystemOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type SystemPruneOpts

type SystemPruneOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Remove all unused images not just dangling ones.
	All bool

	// Provide filter values (e.g. `label=<key>=<value>`).
	Filter string

	// Do not prompt for confirmation.
	Force bool

	// Print usage.
	Help bool

	// Prune anonymous volumes.
	Volumes bool
}

type TagOpts

type TagOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type TopOpts

type TopOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type TrustInspectOpts

type TrustInspectOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool

	// Print the information in a human friendly format.
	Pretty bool
}

type TrustKeyGenerateOpts

type TrustKeyGenerateOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Directory to generate key in, defaults to current directory.
	Dir string

	// Print usage.
	Help bool
}

type TrustKeyLoadOpts

type TrustKeyLoadOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool

	// Name for the loaded key.
	Name string
}

type TrustKeyOpts

type TrustKeyOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type TrustOpts

type TrustOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type TrustRevokeOpts

type TrustRevokeOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool

	// Do not prompt for confirmation.
	Yes bool
}

type TrustSignOpts

type TrustSignOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool

	// Sign a locally tagged image.
	Local bool
}

type TrustSignerAddOpts

type TrustSignerAddOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool

	// Path to the signer's public key file.
	Key []string
}

type TrustSignerOpts

type TrustSignerOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type TrustSignerRemoveOpts

type TrustSignerRemoveOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Do not prompt for confirmation before removing the most recent signer.
	Force bool

	// Print usage.
	Help bool
}

type UnpauseOpts

type UnpauseOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type UpdateOpts

type UpdateOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0).
	BlkioWeight string

	// Limit CPU CFS (Completely Fair Scheduler) period.
	CpuPeriod string

	// Limit CPU CFS (Completely Fair Scheduler) quota.
	CpuQuota string

	// Limit the CPU real-time period in microseconds.
	CpuRtPeriod string

	// Limit the CPU real-time runtime in microseconds.
	CpuRtRuntime string

	// CPU shares (relative weight).
	CpuShares string

	// Number of CPUs.
	Cpus string

	// CPUs in which to allow execution (0-3, 0,1).
	CpusetCpus string

	// MEMs in which to allow execution (0-3, 0,1).
	CpusetMems string

	// Print usage.
	Help bool

	// Kernel memory limit (deprecated).
	KernelMemory string

	// Memory limit.
	Memory string

	// Memory soft limit.
	MemoryReservation string

	// Swap limit equal to memory plus swap: -1 to enable unlimited swap.
	MemorySwap string

	// Tune container pids limit (set -1 for unlimited).
	PidsLimit string

	// Restart policy to apply when a container exits.
	Restart string
}

type VersionOpts

type VersionOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Format output using a custom template:
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool
}

type VolumeCreateOpts

type VolumeCreateOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Cluster Volume availability (`active`, `pause`, `drain`).
	Availability string

	// Specify volume driver name.
	Driver string

	// Cluster Volume group (cluster volumes).
	Group string

	// Print usage.
	Help bool

	// Set metadata for a volume.
	Label []string

	// Minimum size of the Cluster Volume in bytes.
	LimitBytes string

	// Specify volume name.
	Name string

	// Set driver specific options.
	Opt string

	// Maximum size of the Cluster Volume in bytes.
	RequiredBytes string

	// Cluster Volume access scope (`single`, `multi`).
	Scope string

	// Cluster Volume secrets.
	Secret string

	// Cluster Volume access sharing (`none`, `readonly`, `onewriter`, `all`).
	Sharing string

	// A topology that the Cluster Volume would be preferred in.
	TopologyPreferred []string

	// A topology that the Cluster Volume must be accessible from.
	TopologyRequired []string

	// Cluster Volume access type (`mount`, `block`).
	Type string
}

type VolumeInspectOpts

type VolumeInspectOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Format output using a custom template:
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool
}

type VolumeLsOpts

type VolumeLsOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Display only cluster volumes, and use cluster volume list formatting.
	Cluster bool

	// Provide filter values (e.g. `dangling=true`).
	Filter string

	// Format output using a custom template:
	// 'table':            Print output in table format with column headers (default).
	// 'table TEMPLATE':   Print output in table format using the given Go template.
	// 'json':             Print in JSON format.
	// 'TEMPLATE':         Print output using the given Go template.
	// Refer to https://docs.docker.com/go/formatting/ for more information about formatting output with templates.
	Format string

	// Print usage.
	Help bool

	// Only display volume names.
	Quiet bool
}

type VolumeOpts

type VolumeOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

type VolumePruneOpts

type VolumePruneOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Remove all unused volumes, not just anonymous ones.
	All bool

	// Provide filter values (e.g. `label=<label>`).
	Filter string

	// Do not prompt for confirmation.
	Force bool

	// Print usage.
	Help bool
}

type VolumeRmOpts

type VolumeRmOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Force the removal of one or more volumes.
	Force bool

	// Print usage.
	Help bool
}

type VolumeUpdateOpts

type VolumeUpdateOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Cluster Volume availability (`active`, `pause`, `drain`).
	Availability string

	// Print usage.
	Help bool
}

type WaitOpts

type WaitOpts struct {
	// Base exec.Cmd.
	Cmd *exec.Cmd

	// Print usage.
	Help bool
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL