mirror of https://github.com/docker/cli.git
vendor: github.com/docker/docker 508cc7c61226 (master)
full diff: https://github.com/docker/docker/v27.0.3..508cc7c6122651c4dfeeec2e626568704cfaf0f9 Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
f5ce584ce0
commit
4cac8efb56
|
@ -13,7 +13,7 @@ require (
|
||||||
github.com/distribution/reference v0.6.0
|
github.com/distribution/reference v0.6.0
|
||||||
github.com/docker/cli-docs-tool v0.7.0
|
github.com/docker/cli-docs-tool v0.7.0
|
||||||
github.com/docker/distribution v2.8.3+incompatible
|
github.com/docker/distribution v2.8.3+incompatible
|
||||||
github.com/docker/docker v27.0.3+incompatible
|
github.com/docker/docker v27.0.2-0.20240703234935-508cc7c61226+incompatible // master (v-next)
|
||||||
github.com/docker/docker-credential-helpers v0.8.2
|
github.com/docker/docker-credential-helpers v0.8.2
|
||||||
github.com/docker/go-connections v0.5.0
|
github.com/docker/go-connections v0.5.0
|
||||||
github.com/docker/go-units v0.5.0
|
github.com/docker/go-units v0.5.0
|
||||||
|
|
|
@ -59,8 +59,8 @@ github.com/docker/cli-docs-tool v0.7.0/go.mod h1:zMjqTFCU361PRh8apiXzeAZ1Q/xupbI
|
||||||
github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
|
github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
|
||||||
github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk=
|
github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk=
|
||||||
github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
|
github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
|
||||||
github.com/docker/docker v27.0.3+incompatible h1:aBGI9TeQ4MPlhquTQKq9XbK79rKFVwXNUAYz9aXyEBE=
|
github.com/docker/docker v27.0.2-0.20240703234935-508cc7c61226+incompatible h1:Fx3TVBPjkrFXwUwklYcmm91iIP2SKYpOJ12UpzXAddo=
|
||||||
github.com/docker/docker v27.0.3+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
|
github.com/docker/docker v27.0.2-0.20240703234935-508cc7c61226+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
|
||||||
github.com/docker/docker-credential-helpers v0.8.2 h1:bX3YxiGzFP5sOXWc3bTPEXdEaZSeVMrFgOr3T+zrFAo=
|
github.com/docker/docker-credential-helpers v0.8.2 h1:bX3YxiGzFP5sOXWc3bTPEXdEaZSeVMrFgOr3T+zrFAo=
|
||||||
github.com/docker/docker-credential-helpers v0.8.2/go.mod h1:P3ci7E3lwkZg6XiHdRKft1KckHiO9a2rNtyFbZ/ry9M=
|
github.com/docker/docker-credential-helpers v0.8.2/go.mod h1:P3ci7E3lwkZg6XiHdRKft1KckHiO9a2rNtyFbZ/ry9M=
|
||||||
github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c h1:lzqkGL9b3znc+ZUgi7FlLnqjQhcXxkNM/quxIjBVMD0=
|
github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c h1:lzqkGL9b3znc+ZUgi7FlLnqjQhcXxkNM/quxIjBVMD0=
|
||||||
|
|
|
@ -1917,7 +1917,7 @@ definitions:
|
||||||
type: "string"
|
type: "string"
|
||||||
example: "4443"
|
example: "4443"
|
||||||
|
|
||||||
GraphDriverData:
|
DriverData:
|
||||||
description: |
|
description: |
|
||||||
Information about the storage driver used to store the container's and
|
Information about the storage driver used to store the container's and
|
||||||
image's filesystem.
|
image's filesystem.
|
||||||
|
@ -2107,7 +2107,7 @@ definitions:
|
||||||
format: "int64"
|
format: "int64"
|
||||||
example: 1239828
|
example: 1239828
|
||||||
GraphDriver:
|
GraphDriver:
|
||||||
$ref: "#/definitions/GraphDriverData"
|
$ref: "#/definitions/DriverData"
|
||||||
RootFS:
|
RootFS:
|
||||||
description: |
|
description: |
|
||||||
Information about the image's RootFS, including the layer IDs.
|
Information about the image's RootFS, including the layer IDs.
|
||||||
|
@ -5334,7 +5334,7 @@ definitions:
|
||||||
The version Go used to compile the daemon, and the version of the Go
|
The version Go used to compile the daemon, and the version of the Go
|
||||||
runtime in use.
|
runtime in use.
|
||||||
type: "string"
|
type: "string"
|
||||||
example: "go1.21.11"
|
example: "go1.21.12"
|
||||||
Os:
|
Os:
|
||||||
description: |
|
description: |
|
||||||
The operating system that the daemon is running on ("linux" or "windows")
|
The operating system that the daemon is running on ("linux" or "windows")
|
||||||
|
@ -7123,7 +7123,7 @@ paths:
|
||||||
HostConfig:
|
HostConfig:
|
||||||
$ref: "#/definitions/HostConfig"
|
$ref: "#/definitions/HostConfig"
|
||||||
GraphDriver:
|
GraphDriver:
|
||||||
$ref: "#/definitions/GraphDriverData"
|
$ref: "#/definitions/DriverData"
|
||||||
SizeRw:
|
SizeRw:
|
||||||
description: |
|
description: |
|
||||||
The size of files that have been created or changed by this
|
The size of files that have been created or changed by this
|
||||||
|
|
|
@ -4,6 +4,9 @@ import (
|
||||||
"io"
|
"io"
|
||||||
"os"
|
"os"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/docker/docker/api/types/mount"
|
||||||
|
"github.com/docker/docker/api/types/storage"
|
||||||
)
|
)
|
||||||
|
|
||||||
// PruneReport contains the response for Engine API:
|
// PruneReport contains the response for Engine API:
|
||||||
|
@ -42,3 +45,130 @@ type StatsResponseReader struct {
|
||||||
Body io.ReadCloser `json:"body"`
|
Body io.ReadCloser `json:"body"`
|
||||||
OSType string `json:"ostype"`
|
OSType string `json:"ostype"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// MountPoint represents a mount point configuration inside the container.
|
||||||
|
// This is used for reporting the mountpoints in use by a container.
|
||||||
|
type MountPoint struct {
|
||||||
|
// Type is the type of mount, see `Type<foo>` definitions in
|
||||||
|
// github.com/docker/docker/api/types/mount.Type
|
||||||
|
Type mount.Type `json:",omitempty"`
|
||||||
|
|
||||||
|
// Name is the name reference to the underlying data defined by `Source`
|
||||||
|
// e.g., the volume name.
|
||||||
|
Name string `json:",omitempty"`
|
||||||
|
|
||||||
|
// Source is the source location of the mount.
|
||||||
|
//
|
||||||
|
// For volumes, this contains the storage location of the volume (within
|
||||||
|
// `/var/lib/docker/volumes/`). For bind-mounts, and `npipe`, this contains
|
||||||
|
// the source (host) part of the bind-mount. For `tmpfs` mount points, this
|
||||||
|
// field is empty.
|
||||||
|
Source string
|
||||||
|
|
||||||
|
// Destination is the path relative to the container root (`/`) where the
|
||||||
|
// Source is mounted inside the container.
|
||||||
|
Destination string
|
||||||
|
|
||||||
|
// Driver is the volume driver used to create the volume (if it is a volume).
|
||||||
|
Driver string `json:",omitempty"`
|
||||||
|
|
||||||
|
// Mode is a comma separated list of options supplied by the user when
|
||||||
|
// creating the bind/volume mount.
|
||||||
|
//
|
||||||
|
// The default is platform-specific (`"z"` on Linux, empty on Windows).
|
||||||
|
Mode string
|
||||||
|
|
||||||
|
// RW indicates whether the mount is mounted writable (read-write).
|
||||||
|
RW bool
|
||||||
|
|
||||||
|
// Propagation describes how mounts are propagated from the host into the
|
||||||
|
// mount point, and vice-versa. Refer to the Linux kernel documentation
|
||||||
|
// for details:
|
||||||
|
// https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt
|
||||||
|
//
|
||||||
|
// This field is not used on Windows.
|
||||||
|
Propagation mount.Propagation
|
||||||
|
}
|
||||||
|
|
||||||
|
// State stores container's running state
|
||||||
|
// it's part of ContainerJSONBase and returned by "inspect" command
|
||||||
|
type State struct {
|
||||||
|
Status string // String representation of the container state. Can be one of "created", "running", "paused", "restarting", "removing", "exited", or "dead"
|
||||||
|
Running bool
|
||||||
|
Paused bool
|
||||||
|
Restarting bool
|
||||||
|
OOMKilled bool
|
||||||
|
Dead bool
|
||||||
|
Pid int
|
||||||
|
ExitCode int
|
||||||
|
Error string
|
||||||
|
StartedAt string
|
||||||
|
FinishedAt string
|
||||||
|
Health *Health `json:",omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Summary contains response of Engine API:
|
||||||
|
// GET "/containers/json"
|
||||||
|
type Summary struct {
|
||||||
|
ID string `json:"Id"`
|
||||||
|
Names []string
|
||||||
|
Image string
|
||||||
|
ImageID string
|
||||||
|
Command string
|
||||||
|
Created int64
|
||||||
|
Ports []Port
|
||||||
|
SizeRw int64 `json:",omitempty"`
|
||||||
|
SizeRootFs int64 `json:",omitempty"`
|
||||||
|
Labels map[string]string
|
||||||
|
State string
|
||||||
|
Status string
|
||||||
|
HostConfig struct {
|
||||||
|
NetworkMode string `json:",omitempty"`
|
||||||
|
Annotations map[string]string `json:",omitempty"`
|
||||||
|
}
|
||||||
|
NetworkSettings *NetworkSettingsSummary
|
||||||
|
Mounts []MountPoint
|
||||||
|
}
|
||||||
|
|
||||||
|
// ContainerJSONBase contains response of Engine API GET "/containers/{name:.*}/json"
|
||||||
|
// for API version 1.18 and older.
|
||||||
|
//
|
||||||
|
// TODO(thaJeztah): combine ContainerJSONBase and InspectResponse into a single struct.
|
||||||
|
// The split between ContainerJSONBase (ContainerJSONBase) and InspectResponse (InspectResponse)
|
||||||
|
// was done in commit 6deaa58ba5f051039643cedceee97c8695e2af74 (https://github.com/moby/moby/pull/13675).
|
||||||
|
// ContainerJSONBase contained all fields for API < 1.19, and InspectResponse
|
||||||
|
// held fields that were added in API 1.19 and up. Given that the minimum
|
||||||
|
// supported API version is now 1.24, we no longer use the separate type.
|
||||||
|
type ContainerJSONBase struct {
|
||||||
|
ID string `json:"Id"`
|
||||||
|
Created string
|
||||||
|
Path string
|
||||||
|
Args []string
|
||||||
|
State *State
|
||||||
|
Image string
|
||||||
|
ResolvConfPath string
|
||||||
|
HostnamePath string
|
||||||
|
HostsPath string
|
||||||
|
LogPath string
|
||||||
|
Name string
|
||||||
|
RestartCount int
|
||||||
|
Driver string
|
||||||
|
Platform string
|
||||||
|
MountLabel string
|
||||||
|
ProcessLabel string
|
||||||
|
AppArmorProfile string
|
||||||
|
ExecIDs []string
|
||||||
|
HostConfig *HostConfig
|
||||||
|
GraphDriver storage.DriverData
|
||||||
|
SizeRw *int64 `json:",omitempty"`
|
||||||
|
SizeRootFs *int64 `json:",omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// InspectResponse is the response for the GET "/containers/{name:.*}/json"
|
||||||
|
// endpoint.
|
||||||
|
type InspectResponse struct {
|
||||||
|
*ContainerJSONBase
|
||||||
|
Mounts []MountPoint
|
||||||
|
Config *Config
|
||||||
|
NetworkSettings *NetworkSettings
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,26 @@
|
||||||
|
package container
|
||||||
|
|
||||||
|
import "time"
|
||||||
|
|
||||||
|
// Health states
|
||||||
|
const (
|
||||||
|
NoHealthcheck = "none" // Indicates there is no healthcheck
|
||||||
|
Starting = "starting" // Starting indicates that the container is not yet ready
|
||||||
|
Healthy = "healthy" // Healthy indicates that the container is running correctly
|
||||||
|
Unhealthy = "unhealthy" // Unhealthy indicates that the container has a problem
|
||||||
|
)
|
||||||
|
|
||||||
|
// Health stores information about the container's healthcheck results
|
||||||
|
type Health struct {
|
||||||
|
Status string // Status is one of [Starting], [Healthy] or [Unhealthy].
|
||||||
|
FailingStreak int // FailingStreak is the number of consecutive failures
|
||||||
|
Log []*HealthcheckResult // Log contains the last few results (oldest first)
|
||||||
|
}
|
||||||
|
|
||||||
|
// HealthcheckResult stores information about a single run of a healthcheck probe
|
||||||
|
type HealthcheckResult struct {
|
||||||
|
Start time.Time // Start is the time this check started
|
||||||
|
End time.Time // End is the time this check ended
|
||||||
|
ExitCode int // ExitCode meanings: 0=healthy, 1=unhealthy, 2=reserved (considered unhealthy), else=error running probe
|
||||||
|
Output string // Output from last check
|
||||||
|
}
|
56
vendor/github.com/docker/docker/api/types/container/network_settings.go
generated
vendored
Normal file
56
vendor/github.com/docker/docker/api/types/container/network_settings.go
generated
vendored
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
package container
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/docker/docker/api/types/network"
|
||||||
|
"github.com/docker/go-connections/nat"
|
||||||
|
)
|
||||||
|
|
||||||
|
// NetworkSettings exposes the network settings in the api
|
||||||
|
type NetworkSettings struct {
|
||||||
|
NetworkSettingsBase
|
||||||
|
DefaultNetworkSettings
|
||||||
|
Networks map[string]*network.EndpointSettings
|
||||||
|
}
|
||||||
|
|
||||||
|
// NetworkSettingsBase holds networking state for a container when inspecting it.
|
||||||
|
type NetworkSettingsBase struct {
|
||||||
|
Bridge string // Bridge contains the name of the default bridge interface iff it was set through the daemon --bridge flag.
|
||||||
|
SandboxID string // SandboxID uniquely represents a container's network stack
|
||||||
|
SandboxKey string // SandboxKey identifies the sandbox
|
||||||
|
Ports nat.PortMap // Ports is a collection of PortBinding indexed by Port
|
||||||
|
|
||||||
|
// HairpinMode specifies if hairpin NAT should be enabled on the virtual interface
|
||||||
|
//
|
||||||
|
// Deprecated: This field is never set and will be removed in a future release.
|
||||||
|
HairpinMode bool
|
||||||
|
// LinkLocalIPv6Address is an IPv6 unicast address using the link-local prefix
|
||||||
|
//
|
||||||
|
// Deprecated: This field is never set and will be removed in a future release.
|
||||||
|
LinkLocalIPv6Address string
|
||||||
|
// LinkLocalIPv6PrefixLen is the prefix length of an IPv6 unicast address
|
||||||
|
//
|
||||||
|
// Deprecated: This field is never set and will be removed in a future release.
|
||||||
|
LinkLocalIPv6PrefixLen int
|
||||||
|
SecondaryIPAddresses []network.Address // Deprecated: This field is never set and will be removed in a future release.
|
||||||
|
SecondaryIPv6Addresses []network.Address // Deprecated: This field is never set and will be removed in a future release.
|
||||||
|
}
|
||||||
|
|
||||||
|
// DefaultNetworkSettings holds network information
|
||||||
|
// during the 2 release deprecation period.
|
||||||
|
// It will be removed in Docker 1.11.
|
||||||
|
type DefaultNetworkSettings struct {
|
||||||
|
EndpointID string // EndpointID uniquely represents a service endpoint in a Sandbox
|
||||||
|
Gateway string // Gateway holds the gateway address for the network
|
||||||
|
GlobalIPv6Address string // GlobalIPv6Address holds network's global IPv6 address
|
||||||
|
GlobalIPv6PrefixLen int // GlobalIPv6PrefixLen represents mask length of network's global IPv6 address
|
||||||
|
IPAddress string // IPAddress holds the IPv4 address for the network
|
||||||
|
IPPrefixLen int // IPPrefixLen represents mask length of network's IPv4 address
|
||||||
|
IPv6Gateway string // IPv6Gateway holds gateway address specific for IPv6
|
||||||
|
MacAddress string // MacAddress holds the MAC address for the network
|
||||||
|
}
|
||||||
|
|
||||||
|
// NetworkSettingsSummary provides a summary of container's networks
|
||||||
|
// in /containers/json
|
||||||
|
type NetworkSettingsSummary struct {
|
||||||
|
Networks map[string]*network.EndpointSettings
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package types
|
package container
|
||||||
|
|
||||||
// This file was generated by the swagger tool.
|
// This file was generated by the swagger tool.
|
||||||
// Editing this file might prove futile when you re-run the swagger generate command
|
// Editing this file might prove futile when you re-run the swagger generate command
|
|
@ -0,0 +1,122 @@
|
||||||
|
package image
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/docker/docker/api/types/container"
|
||||||
|
"github.com/docker/docker/api/types/storage"
|
||||||
|
)
|
||||||
|
|
||||||
|
// RootFS returns Image's RootFS description including the layer IDs.
|
||||||
|
type RootFS struct {
|
||||||
|
Type string `json:",omitempty"`
|
||||||
|
Layers []string `json:",omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// InspectResponse contains response of Engine API:
|
||||||
|
// GET "/images/{name:.*}/json"
|
||||||
|
type InspectResponse struct {
|
||||||
|
// ID is the content-addressable ID of an image.
|
||||||
|
//
|
||||||
|
// This identifier is a content-addressable digest calculated from the
|
||||||
|
// image's configuration (which includes the digests of layers used by
|
||||||
|
// the image).
|
||||||
|
//
|
||||||
|
// Note that this digest differs from the `RepoDigests` below, which
|
||||||
|
// holds digests of image manifests that reference the image.
|
||||||
|
ID string `json:"Id"`
|
||||||
|
|
||||||
|
// RepoTags is a list of image names/tags in the local image cache that
|
||||||
|
// reference this image.
|
||||||
|
//
|
||||||
|
// Multiple image tags can refer to the same image, and this list may be
|
||||||
|
// empty if no tags reference the image, in which case the image is
|
||||||
|
// "untagged", in which case it can still be referenced by its ID.
|
||||||
|
RepoTags []string
|
||||||
|
|
||||||
|
// RepoDigests is a list of content-addressable digests of locally available
|
||||||
|
// image manifests that the image is referenced from. Multiple manifests can
|
||||||
|
// refer to the same image.
|
||||||
|
//
|
||||||
|
// These digests are usually only available if the image was either pulled
|
||||||
|
// from a registry, or if the image was pushed to a registry, which is when
|
||||||
|
// the manifest is generated and its digest calculated.
|
||||||
|
RepoDigests []string
|
||||||
|
|
||||||
|
// Parent is the ID of the parent image.
|
||||||
|
//
|
||||||
|
// Depending on how the image was created, this field may be empty and
|
||||||
|
// is only set for images that were built/created locally. This field
|
||||||
|
// is empty if the image was pulled from an image registry.
|
||||||
|
Parent string
|
||||||
|
|
||||||
|
// Comment is an optional message that can be set when committing or
|
||||||
|
// importing the image.
|
||||||
|
Comment string
|
||||||
|
|
||||||
|
// Created is the date and time at which the image was created, formatted in
|
||||||
|
// RFC 3339 nano-seconds (time.RFC3339Nano).
|
||||||
|
//
|
||||||
|
// This information is only available if present in the image,
|
||||||
|
// and omitted otherwise.
|
||||||
|
Created string `json:",omitempty"`
|
||||||
|
|
||||||
|
// Container is the ID of the container that was used to create the image.
|
||||||
|
//
|
||||||
|
// Depending on how the image was created, this field may be empty.
|
||||||
|
//
|
||||||
|
// Deprecated: this field is omitted in API v1.45, but kept for backward compatibility.
|
||||||
|
Container string `json:",omitempty"`
|
||||||
|
|
||||||
|
// ContainerConfig is an optional field containing the configuration of the
|
||||||
|
// container that was last committed when creating the image.
|
||||||
|
//
|
||||||
|
// Previous versions of Docker builder used this field to store build cache,
|
||||||
|
// and it is not in active use anymore.
|
||||||
|
//
|
||||||
|
// Deprecated: this field is omitted in API v1.45, but kept for backward compatibility.
|
||||||
|
ContainerConfig *container.Config `json:",omitempty"`
|
||||||
|
|
||||||
|
// DockerVersion is the version of Docker that was used to build the image.
|
||||||
|
//
|
||||||
|
// Depending on how the image was created, this field may be empty.
|
||||||
|
DockerVersion string
|
||||||
|
|
||||||
|
// Author is the name of the author that was specified when committing the
|
||||||
|
// image, or as specified through MAINTAINER (deprecated) in the Dockerfile.
|
||||||
|
Author string
|
||||||
|
Config *container.Config
|
||||||
|
|
||||||
|
// Architecture is the hardware CPU architecture that the image runs on.
|
||||||
|
Architecture string
|
||||||
|
|
||||||
|
// Variant is the CPU architecture variant (presently ARM-only).
|
||||||
|
Variant string `json:",omitempty"`
|
||||||
|
|
||||||
|
// OS is the Operating System the image is built to run on.
|
||||||
|
Os string
|
||||||
|
|
||||||
|
// OsVersion is the version of the Operating System the image is built to
|
||||||
|
// run on (especially for Windows).
|
||||||
|
OsVersion string `json:",omitempty"`
|
||||||
|
|
||||||
|
// Size is the total size of the image including all layers it is composed of.
|
||||||
|
Size int64
|
||||||
|
|
||||||
|
// VirtualSize is the total size of the image including all layers it is
|
||||||
|
// composed of.
|
||||||
|
//
|
||||||
|
// Deprecated: this field is omitted in API v1.44, but kept for backward compatibility. Use Size instead.
|
||||||
|
VirtualSize int64 `json:"VirtualSize,omitempty"`
|
||||||
|
|
||||||
|
// GraphDriver holds information about the storage driver used to store the
|
||||||
|
// container's and image's filesystem.
|
||||||
|
GraphDriver storage.DriverData
|
||||||
|
|
||||||
|
// RootFS contains information about the image's RootFS, including the
|
||||||
|
// layer IDs.
|
||||||
|
RootFS RootFS
|
||||||
|
|
||||||
|
// Metadata of the image in the local cache.
|
||||||
|
//
|
||||||
|
// This information is local to the daemon, and not part of the image itself.
|
||||||
|
Metadata Metadata
|
||||||
|
}
|
|
@ -1,13 +1,13 @@
|
||||||
package types
|
package storage
|
||||||
|
|
||||||
// This file was generated by the swagger tool.
|
// This file was generated by the swagger tool.
|
||||||
// Editing this file might prove futile when you re-run the swagger generate command
|
// Editing this file might prove futile when you re-run the swagger generate command
|
||||||
|
|
||||||
// GraphDriverData Information about the storage driver used to store the container's and
|
// DriverData Information about the storage driver used to store the container's and
|
||||||
// image's filesystem.
|
// image's filesystem.
|
||||||
//
|
//
|
||||||
// swagger:model GraphDriverData
|
// swagger:model DriverData
|
||||||
type GraphDriverData struct {
|
type DriverData struct {
|
||||||
|
|
||||||
// Low-level storage metadata, provided as key/value pairs.
|
// Low-level storage metadata, provided as key/value pairs.
|
||||||
//
|
//
|
|
@ -77,9 +77,6 @@ type Info struct {
|
||||||
|
|
||||||
Containerd *ContainerdInfo `json:",omitempty"`
|
Containerd *ContainerdInfo `json:",omitempty"`
|
||||||
|
|
||||||
// Legacy API fields for older API versions.
|
|
||||||
legacyFields
|
|
||||||
|
|
||||||
// Warnings contains a slice of warnings that occurred while collecting
|
// Warnings contains a slice of warnings that occurred while collecting
|
||||||
// system information. These warnings are intended to be informational
|
// system information. These warnings are intended to be informational
|
||||||
// messages for the user, and are not intended to be parsed / used for
|
// messages for the user, and are not intended to be parsed / used for
|
||||||
|
@ -124,10 +121,6 @@ type ContainerdNamespaces struct {
|
||||||
Plugins string
|
Plugins string
|
||||||
}
|
}
|
||||||
|
|
||||||
type legacyFields struct {
|
|
||||||
ExecutionDriver string `json:",omitempty"` // Deprecated: deprecated since API v1.25, but returned for older versions.
|
|
||||||
}
|
|
||||||
|
|
||||||
// PluginsInfo is a temp struct holding Plugins name
|
// PluginsInfo is a temp struct holding Plugins name
|
||||||
// registered with docker daemon. It is used by [Info] struct
|
// registered with docker daemon. It is used by [Info] struct
|
||||||
type PluginsInfo struct {
|
type PluginsInfo struct {
|
||||||
|
|
|
@ -6,11 +6,8 @@ import (
|
||||||
"github.com/docker/docker/api/types/container"
|
"github.com/docker/docker/api/types/container"
|
||||||
"github.com/docker/docker/api/types/filters"
|
"github.com/docker/docker/api/types/filters"
|
||||||
"github.com/docker/docker/api/types/image"
|
"github.com/docker/docker/api/types/image"
|
||||||
"github.com/docker/docker/api/types/mount"
|
|
||||||
"github.com/docker/docker/api/types/network"
|
|
||||||
"github.com/docker/docker/api/types/swarm"
|
"github.com/docker/docker/api/types/swarm"
|
||||||
"github.com/docker/docker/api/types/volume"
|
"github.com/docker/docker/api/types/volume"
|
||||||
"github.com/docker/go-connections/nat"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -21,145 +18,6 @@ const (
|
||||||
MediaTypeMultiplexedStream = "application/vnd.docker.multiplexed-stream"
|
MediaTypeMultiplexedStream = "application/vnd.docker.multiplexed-stream"
|
||||||
)
|
)
|
||||||
|
|
||||||
// RootFS returns Image's RootFS description including the layer IDs.
|
|
||||||
type RootFS struct {
|
|
||||||
Type string `json:",omitempty"`
|
|
||||||
Layers []string `json:",omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// ImageInspect contains response of Engine API:
|
|
||||||
// GET "/images/{name:.*}/json"
|
|
||||||
type ImageInspect struct {
|
|
||||||
// ID is the content-addressable ID of an image.
|
|
||||||
//
|
|
||||||
// This identifier is a content-addressable digest calculated from the
|
|
||||||
// image's configuration (which includes the digests of layers used by
|
|
||||||
// the image).
|
|
||||||
//
|
|
||||||
// Note that this digest differs from the `RepoDigests` below, which
|
|
||||||
// holds digests of image manifests that reference the image.
|
|
||||||
ID string `json:"Id"`
|
|
||||||
|
|
||||||
// RepoTags is a list of image names/tags in the local image cache that
|
|
||||||
// reference this image.
|
|
||||||
//
|
|
||||||
// Multiple image tags can refer to the same image, and this list may be
|
|
||||||
// empty if no tags reference the image, in which case the image is
|
|
||||||
// "untagged", in which case it can still be referenced by its ID.
|
|
||||||
RepoTags []string
|
|
||||||
|
|
||||||
// RepoDigests is a list of content-addressable digests of locally available
|
|
||||||
// image manifests that the image is referenced from. Multiple manifests can
|
|
||||||
// refer to the same image.
|
|
||||||
//
|
|
||||||
// These digests are usually only available if the image was either pulled
|
|
||||||
// from a registry, or if the image was pushed to a registry, which is when
|
|
||||||
// the manifest is generated and its digest calculated.
|
|
||||||
RepoDigests []string
|
|
||||||
|
|
||||||
// Parent is the ID of the parent image.
|
|
||||||
//
|
|
||||||
// Depending on how the image was created, this field may be empty and
|
|
||||||
// is only set for images that were built/created locally. This field
|
|
||||||
// is empty if the image was pulled from an image registry.
|
|
||||||
Parent string
|
|
||||||
|
|
||||||
// Comment is an optional message that can be set when committing or
|
|
||||||
// importing the image.
|
|
||||||
Comment string
|
|
||||||
|
|
||||||
// Created is the date and time at which the image was created, formatted in
|
|
||||||
// RFC 3339 nano-seconds (time.RFC3339Nano).
|
|
||||||
//
|
|
||||||
// This information is only available if present in the image,
|
|
||||||
// and omitted otherwise.
|
|
||||||
Created string `json:",omitempty"`
|
|
||||||
|
|
||||||
// Container is the ID of the container that was used to create the image.
|
|
||||||
//
|
|
||||||
// Depending on how the image was created, this field may be empty.
|
|
||||||
//
|
|
||||||
// Deprecated: this field is omitted in API v1.45, but kept for backward compatibility.
|
|
||||||
Container string `json:",omitempty"`
|
|
||||||
|
|
||||||
// ContainerConfig is an optional field containing the configuration of the
|
|
||||||
// container that was last committed when creating the image.
|
|
||||||
//
|
|
||||||
// Previous versions of Docker builder used this field to store build cache,
|
|
||||||
// and it is not in active use anymore.
|
|
||||||
//
|
|
||||||
// Deprecated: this field is omitted in API v1.45, but kept for backward compatibility.
|
|
||||||
ContainerConfig *container.Config `json:",omitempty"`
|
|
||||||
|
|
||||||
// DockerVersion is the version of Docker that was used to build the image.
|
|
||||||
//
|
|
||||||
// Depending on how the image was created, this field may be empty.
|
|
||||||
DockerVersion string
|
|
||||||
|
|
||||||
// Author is the name of the author that was specified when committing the
|
|
||||||
// image, or as specified through MAINTAINER (deprecated) in the Dockerfile.
|
|
||||||
Author string
|
|
||||||
Config *container.Config
|
|
||||||
|
|
||||||
// Architecture is the hardware CPU architecture that the image runs on.
|
|
||||||
Architecture string
|
|
||||||
|
|
||||||
// Variant is the CPU architecture variant (presently ARM-only).
|
|
||||||
Variant string `json:",omitempty"`
|
|
||||||
|
|
||||||
// OS is the Operating System the image is built to run on.
|
|
||||||
Os string
|
|
||||||
|
|
||||||
// OsVersion is the version of the Operating System the image is built to
|
|
||||||
// run on (especially for Windows).
|
|
||||||
OsVersion string `json:",omitempty"`
|
|
||||||
|
|
||||||
// Size is the total size of the image including all layers it is composed of.
|
|
||||||
Size int64
|
|
||||||
|
|
||||||
// VirtualSize is the total size of the image including all layers it is
|
|
||||||
// composed of.
|
|
||||||
//
|
|
||||||
// Deprecated: this field is omitted in API v1.44, but kept for backward compatibility. Use Size instead.
|
|
||||||
VirtualSize int64 `json:"VirtualSize,omitempty"`
|
|
||||||
|
|
||||||
// GraphDriver holds information about the storage driver used to store the
|
|
||||||
// container's and image's filesystem.
|
|
||||||
GraphDriver GraphDriverData
|
|
||||||
|
|
||||||
// RootFS contains information about the image's RootFS, including the
|
|
||||||
// layer IDs.
|
|
||||||
RootFS RootFS
|
|
||||||
|
|
||||||
// Metadata of the image in the local cache.
|
|
||||||
//
|
|
||||||
// This information is local to the daemon, and not part of the image itself.
|
|
||||||
Metadata image.Metadata
|
|
||||||
}
|
|
||||||
|
|
||||||
// Container contains response of Engine API:
|
|
||||||
// GET "/containers/json"
|
|
||||||
type Container struct {
|
|
||||||
ID string `json:"Id"`
|
|
||||||
Names []string
|
|
||||||
Image string
|
|
||||||
ImageID string
|
|
||||||
Command string
|
|
||||||
Created int64
|
|
||||||
Ports []Port
|
|
||||||
SizeRw int64 `json:",omitempty"`
|
|
||||||
SizeRootFs int64 `json:",omitempty"`
|
|
||||||
Labels map[string]string
|
|
||||||
State string
|
|
||||||
Status string
|
|
||||||
HostConfig struct {
|
|
||||||
NetworkMode string `json:",omitempty"`
|
|
||||||
Annotations map[string]string `json:",omitempty"`
|
|
||||||
}
|
|
||||||
NetworkSettings *SummaryNetworkSettings
|
|
||||||
Mounts []MountPoint
|
|
||||||
}
|
|
||||||
|
|
||||||
// Ping contains response of Engine API:
|
// Ping contains response of Engine API:
|
||||||
// GET "/_ping"
|
// GET "/_ping"
|
||||||
type Ping struct {
|
type Ping struct {
|
||||||
|
@ -205,176 +63,6 @@ type Version struct {
|
||||||
BuildTime string `json:",omitempty"`
|
BuildTime string `json:",omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// HealthcheckResult stores information about a single run of a healthcheck probe
|
|
||||||
type HealthcheckResult struct {
|
|
||||||
Start time.Time // Start is the time this check started
|
|
||||||
End time.Time // End is the time this check ended
|
|
||||||
ExitCode int // ExitCode meanings: 0=healthy, 1=unhealthy, 2=reserved (considered unhealthy), else=error running probe
|
|
||||||
Output string // Output from last check
|
|
||||||
}
|
|
||||||
|
|
||||||
// Health states
|
|
||||||
const (
|
|
||||||
NoHealthcheck = "none" // Indicates there is no healthcheck
|
|
||||||
Starting = "starting" // Starting indicates that the container is not yet ready
|
|
||||||
Healthy = "healthy" // Healthy indicates that the container is running correctly
|
|
||||||
Unhealthy = "unhealthy" // Unhealthy indicates that the container has a problem
|
|
||||||
)
|
|
||||||
|
|
||||||
// Health stores information about the container's healthcheck results
|
|
||||||
type Health struct {
|
|
||||||
Status string // Status is one of Starting, Healthy or Unhealthy
|
|
||||||
FailingStreak int // FailingStreak is the number of consecutive failures
|
|
||||||
Log []*HealthcheckResult // Log contains the last few results (oldest first)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ContainerState stores container's running state
|
|
||||||
// it's part of ContainerJSONBase and will return by "inspect" command
|
|
||||||
type ContainerState struct {
|
|
||||||
Status string // String representation of the container state. Can be one of "created", "running", "paused", "restarting", "removing", "exited", or "dead"
|
|
||||||
Running bool
|
|
||||||
Paused bool
|
|
||||||
Restarting bool
|
|
||||||
OOMKilled bool
|
|
||||||
Dead bool
|
|
||||||
Pid int
|
|
||||||
ExitCode int
|
|
||||||
Error string
|
|
||||||
StartedAt string
|
|
||||||
FinishedAt string
|
|
||||||
Health *Health `json:",omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// ContainerJSONBase contains response of Engine API:
|
|
||||||
// GET "/containers/{name:.*}/json"
|
|
||||||
type ContainerJSONBase struct {
|
|
||||||
ID string `json:"Id"`
|
|
||||||
Created string
|
|
||||||
Path string
|
|
||||||
Args []string
|
|
||||||
State *ContainerState
|
|
||||||
Image string
|
|
||||||
ResolvConfPath string
|
|
||||||
HostnamePath string
|
|
||||||
HostsPath string
|
|
||||||
LogPath string
|
|
||||||
Node *ContainerNode `json:",omitempty"` // Deprecated: Node was only propagated by Docker Swarm standalone API. It sill be removed in the next release.
|
|
||||||
Name string
|
|
||||||
RestartCount int
|
|
||||||
Driver string
|
|
||||||
Platform string
|
|
||||||
MountLabel string
|
|
||||||
ProcessLabel string
|
|
||||||
AppArmorProfile string
|
|
||||||
ExecIDs []string
|
|
||||||
HostConfig *container.HostConfig
|
|
||||||
GraphDriver GraphDriverData
|
|
||||||
SizeRw *int64 `json:",omitempty"`
|
|
||||||
SizeRootFs *int64 `json:",omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// ContainerJSON is newly used struct along with MountPoint
|
|
||||||
type ContainerJSON struct {
|
|
||||||
*ContainerJSONBase
|
|
||||||
Mounts []MountPoint
|
|
||||||
Config *container.Config
|
|
||||||
NetworkSettings *NetworkSettings
|
|
||||||
}
|
|
||||||
|
|
||||||
// NetworkSettings exposes the network settings in the api
|
|
||||||
type NetworkSettings struct {
|
|
||||||
NetworkSettingsBase
|
|
||||||
DefaultNetworkSettings
|
|
||||||
Networks map[string]*network.EndpointSettings
|
|
||||||
}
|
|
||||||
|
|
||||||
// SummaryNetworkSettings provides a summary of container's networks
|
|
||||||
// in /containers/json
|
|
||||||
type SummaryNetworkSettings struct {
|
|
||||||
Networks map[string]*network.EndpointSettings
|
|
||||||
}
|
|
||||||
|
|
||||||
// NetworkSettingsBase holds networking state for a container when inspecting it.
|
|
||||||
type NetworkSettingsBase struct {
|
|
||||||
Bridge string // Bridge contains the name of the default bridge interface iff it was set through the daemon --bridge flag.
|
|
||||||
SandboxID string // SandboxID uniquely represents a container's network stack
|
|
||||||
SandboxKey string // SandboxKey identifies the sandbox
|
|
||||||
Ports nat.PortMap // Ports is a collection of PortBinding indexed by Port
|
|
||||||
|
|
||||||
// HairpinMode specifies if hairpin NAT should be enabled on the virtual interface
|
|
||||||
//
|
|
||||||
// Deprecated: This field is never set and will be removed in a future release.
|
|
||||||
HairpinMode bool
|
|
||||||
// LinkLocalIPv6Address is an IPv6 unicast address using the link-local prefix
|
|
||||||
//
|
|
||||||
// Deprecated: This field is never set and will be removed in a future release.
|
|
||||||
LinkLocalIPv6Address string
|
|
||||||
// LinkLocalIPv6PrefixLen is the prefix length of an IPv6 unicast address
|
|
||||||
//
|
|
||||||
// Deprecated: This field is never set and will be removed in a future release.
|
|
||||||
LinkLocalIPv6PrefixLen int
|
|
||||||
SecondaryIPAddresses []network.Address // Deprecated: This field is never set and will be removed in a future release.
|
|
||||||
SecondaryIPv6Addresses []network.Address // Deprecated: This field is never set and will be removed in a future release.
|
|
||||||
}
|
|
||||||
|
|
||||||
// DefaultNetworkSettings holds network information
|
|
||||||
// during the 2 release deprecation period.
|
|
||||||
// It will be removed in Docker 1.11.
|
|
||||||
type DefaultNetworkSettings struct {
|
|
||||||
EndpointID string // EndpointID uniquely represents a service endpoint in a Sandbox
|
|
||||||
Gateway string // Gateway holds the gateway address for the network
|
|
||||||
GlobalIPv6Address string // GlobalIPv6Address holds network's global IPv6 address
|
|
||||||
GlobalIPv6PrefixLen int // GlobalIPv6PrefixLen represents mask length of network's global IPv6 address
|
|
||||||
IPAddress string // IPAddress holds the IPv4 address for the network
|
|
||||||
IPPrefixLen int // IPPrefixLen represents mask length of network's IPv4 address
|
|
||||||
IPv6Gateway string // IPv6Gateway holds gateway address specific for IPv6
|
|
||||||
MacAddress string // MacAddress holds the MAC address for the network
|
|
||||||
}
|
|
||||||
|
|
||||||
// MountPoint represents a mount point configuration inside the container.
|
|
||||||
// This is used for reporting the mountpoints in use by a container.
|
|
||||||
type MountPoint struct {
|
|
||||||
// Type is the type of mount, see `Type<foo>` definitions in
|
|
||||||
// github.com/docker/docker/api/types/mount.Type
|
|
||||||
Type mount.Type `json:",omitempty"`
|
|
||||||
|
|
||||||
// Name is the name reference to the underlying data defined by `Source`
|
|
||||||
// e.g., the volume name.
|
|
||||||
Name string `json:",omitempty"`
|
|
||||||
|
|
||||||
// Source is the source location of the mount.
|
|
||||||
//
|
|
||||||
// For volumes, this contains the storage location of the volume (within
|
|
||||||
// `/var/lib/docker/volumes/`). For bind-mounts, and `npipe`, this contains
|
|
||||||
// the source (host) part of the bind-mount. For `tmpfs` mount points, this
|
|
||||||
// field is empty.
|
|
||||||
Source string
|
|
||||||
|
|
||||||
// Destination is the path relative to the container root (`/`) where the
|
|
||||||
// Source is mounted inside the container.
|
|
||||||
Destination string
|
|
||||||
|
|
||||||
// Driver is the volume driver used to create the volume (if it is a volume).
|
|
||||||
Driver string `json:",omitempty"`
|
|
||||||
|
|
||||||
// Mode is a comma separated list of options supplied by the user when
|
|
||||||
// creating the bind/volume mount.
|
|
||||||
//
|
|
||||||
// The default is platform-specific (`"z"` on Linux, empty on Windows).
|
|
||||||
Mode string
|
|
||||||
|
|
||||||
// RW indicates whether the mount is mounted writable (read-write).
|
|
||||||
RW bool
|
|
||||||
|
|
||||||
// Propagation describes how mounts are propagated from the host into the
|
|
||||||
// mount point, and vice-versa. Refer to the Linux kernel documentation
|
|
||||||
// for details:
|
|
||||||
// https://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt
|
|
||||||
//
|
|
||||||
// This field is not used on Windows.
|
|
||||||
Propagation mount.Propagation
|
|
||||||
}
|
|
||||||
|
|
||||||
// DiskUsageObject represents an object type used for disk usage query filtering.
|
// DiskUsageObject represents an object type used for disk usage query filtering.
|
||||||
type DiskUsageObject string
|
type DiskUsageObject string
|
||||||
|
|
||||||
|
@ -401,7 +89,7 @@ type DiskUsageOptions struct {
|
||||||
type DiskUsage struct {
|
type DiskUsage struct {
|
||||||
LayersSize int64
|
LayersSize int64
|
||||||
Images []*image.Summary
|
Images []*image.Summary
|
||||||
Containers []*Container
|
Containers []*container.Summary
|
||||||
Volumes []*volume.Volume
|
Volumes []*volume.Volume
|
||||||
BuildCache []*BuildCache
|
BuildCache []*BuildCache
|
||||||
BuilderSize int64 `json:",omitempty"` // Deprecated: deprecated in API 1.38, and no longer used since API 1.40.
|
BuilderSize int64 `json:",omitempty"` // Deprecated: deprecated in API 1.38, and no longer used since API 1.40.
|
||||||
|
|
|
@ -2,209 +2,98 @@ package types
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/docker/docker/api/types/container"
|
"github.com/docker/docker/api/types/container"
|
||||||
"github.com/docker/docker/api/types/events"
|
|
||||||
"github.com/docker/docker/api/types/image"
|
"github.com/docker/docker/api/types/image"
|
||||||
"github.com/docker/docker/api/types/network"
|
"github.com/docker/docker/api/types/storage"
|
||||||
"github.com/docker/docker/api/types/registry"
|
|
||||||
"github.com/docker/docker/api/types/volume"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// ImagesPruneReport contains the response for Engine API:
|
// ContainerJSONBase contains response of Engine API GET "/containers/{name:.*}/json"
|
||||||
// POST "/images/prune"
|
// for API version 1.18 and older.
|
||||||
//
|
//
|
||||||
// Deprecated: use [image.PruneReport].
|
// Deprecated: use [container.InspectResponse] or [container.ContainerJSONBase]. It will be removed in the next release.
|
||||||
type ImagesPruneReport = image.PruneReport
|
type ContainerJSONBase = container.ContainerJSONBase
|
||||||
|
|
||||||
// VolumesPruneReport contains the response for Engine API:
|
// ContainerJSON is the response for the GET "/containers/{name:.*}/json"
|
||||||
// POST "/volumes/prune".
|
// endpoint.
|
||||||
//
|
//
|
||||||
// Deprecated: use [volume.PruneReport].
|
// Deprecated: use [container.InspectResponse]. It will be removed in the next release.
|
||||||
type VolumesPruneReport = volume.PruneReport
|
type ContainerJSON = container.InspectResponse
|
||||||
|
|
||||||
// NetworkCreateRequest is the request message sent to the server for network create call.
|
// Container contains response of Engine API:
|
||||||
|
// GET "/containers/json"
|
||||||
//
|
//
|
||||||
// Deprecated: use [network.CreateRequest].
|
// Deprecated: use [container.Summary].
|
||||||
type NetworkCreateRequest = network.CreateRequest
|
type Container = container.Summary
|
||||||
|
|
||||||
// NetworkCreate is the expected body of the "create network" http request message
|
// ContainerState stores container's running state
|
||||||
//
|
//
|
||||||
// Deprecated: use [network.CreateOptions].
|
// Deprecated: use [container.State].
|
||||||
type NetworkCreate = network.CreateOptions
|
type ContainerState = container.State
|
||||||
|
|
||||||
// NetworkListOptions holds parameters to filter the list of networks with.
|
// NetworkSettings exposes the network settings in the api.
|
||||||
//
|
//
|
||||||
// Deprecated: use [network.ListOptions].
|
// Deprecated: use [container.NetworkSettings].
|
||||||
type NetworkListOptions = network.ListOptions
|
type NetworkSettings = container.NetworkSettings
|
||||||
|
|
||||||
// NetworkCreateResponse is the response message sent by the server for network create call.
|
// NetworkSettingsBase holds networking state for a container when inspecting it.
|
||||||
//
|
//
|
||||||
// Deprecated: use [network.CreateResponse].
|
// Deprecated: use [container.NetworkSettingsBase].
|
||||||
type NetworkCreateResponse = network.CreateResponse
|
type NetworkSettingsBase = container.NetworkSettingsBase
|
||||||
|
|
||||||
// NetworkInspectOptions holds parameters to inspect network.
|
// DefaultNetworkSettings holds network information
|
||||||
|
// during the 2 release deprecation period.
|
||||||
|
// It will be removed in Docker 1.11.
|
||||||
//
|
//
|
||||||
// Deprecated: use [network.InspectOptions].
|
// Deprecated: use [container.DefaultNetworkSettings].
|
||||||
type NetworkInspectOptions = network.InspectOptions
|
type DefaultNetworkSettings = container.DefaultNetworkSettings
|
||||||
|
|
||||||
// NetworkConnect represents the data to be used to connect a container to the network
|
// SummaryNetworkSettings provides a summary of container's networks
|
||||||
|
// in /containers/json.
|
||||||
//
|
//
|
||||||
// Deprecated: use [network.ConnectOptions].
|
// Deprecated: use [container.NetworkSettingsSummary].
|
||||||
type NetworkConnect = network.ConnectOptions
|
type SummaryNetworkSettings = container.NetworkSettingsSummary
|
||||||
|
|
||||||
// NetworkDisconnect represents the data to be used to disconnect a container from the network
|
// Health states
|
||||||
//
|
const (
|
||||||
// Deprecated: use [network.DisconnectOptions].
|
NoHealthcheck = container.NoHealthcheck // Deprecated: use [container.NoHealthcheck].
|
||||||
type NetworkDisconnect = network.DisconnectOptions
|
Starting = container.Starting // Deprecated: use [container.Starting].
|
||||||
|
Healthy = container.Healthy // Deprecated: use [container.Healthy].
|
||||||
|
Unhealthy = container.Unhealthy // Deprecated: use [container.Unhealthy].
|
||||||
|
)
|
||||||
|
|
||||||
// EndpointResource contains network resources allocated and used for a container in a network.
|
// Health stores information about the container's healthcheck results.
|
||||||
//
|
//
|
||||||
// Deprecated: use [network.EndpointResource].
|
// Deprecated: use [container.Health].
|
||||||
type EndpointResource = network.EndpointResource
|
type Health = container.Health
|
||||||
|
|
||||||
// NetworkResource is the body of the "get network" http response message/
|
// HealthcheckResult stores information about a single run of a healthcheck probe.
|
||||||
//
|
//
|
||||||
// Deprecated: use [network.Inspect] or [network.Summary] (for list operations).
|
// Deprecated: use [container.HealthcheckResult].
|
||||||
type NetworkResource = network.Inspect
|
type HealthcheckResult = container.HealthcheckResult
|
||||||
|
|
||||||
// NetworksPruneReport contains the response for Engine API:
|
// MountPoint represents a mount point configuration inside the container.
|
||||||
// POST "/networks/prune"
|
// This is used for reporting the mountpoints in use by a container.
|
||||||
//
|
//
|
||||||
// Deprecated: use [network.PruneReport].
|
// Deprecated: use [container.MountPoint].
|
||||||
type NetworksPruneReport = network.PruneReport
|
type MountPoint = container.MountPoint
|
||||||
|
|
||||||
// ExecConfig is a small subset of the Config struct that holds the configuration
|
// Port An open port on a container
|
||||||
// for the exec feature of docker.
|
|
||||||
//
|
//
|
||||||
// Deprecated: use [container.ExecOptions].
|
// Deprecated: use [container.Port].
|
||||||
type ExecConfig = container.ExecOptions
|
type Port = container.Port
|
||||||
|
|
||||||
// ExecStartCheck is a temp struct used by execStart
|
// GraphDriverData Information about the storage driver used to store the container's and
|
||||||
// Config fields is part of ExecConfig in runconfig package
|
// image's filesystem.
|
||||||
//
|
//
|
||||||
// Deprecated: use [container.ExecStartOptions] or [container.ExecAttachOptions].
|
// Deprecated: use [storage.DriverData].
|
||||||
type ExecStartCheck = container.ExecStartOptions
|
type GraphDriverData = storage.DriverData
|
||||||
|
|
||||||
// ContainerExecInspect holds information returned by exec inspect.
|
// RootFS returns Image's RootFS description including the layer IDs.
|
||||||
//
|
//
|
||||||
// Deprecated: use [container.ExecInspect].
|
// Deprecated: use [image.RootFS].
|
||||||
type ContainerExecInspect = container.ExecInspect
|
type RootFS = image.RootFS
|
||||||
|
|
||||||
// ContainersPruneReport contains the response for Engine API:
|
// ImageInspect contains response of Engine API:
|
||||||
// POST "/containers/prune"
|
// GET "/images/{name:.*}/json"
|
||||||
//
|
//
|
||||||
// Deprecated: use [container.PruneReport].
|
// Deprecated: use [image.InspectResponse].
|
||||||
type ContainersPruneReport = container.PruneReport
|
type ImageInspect = image.InspectResponse
|
||||||
|
|
||||||
// ContainerPathStat is used to encode the header from
|
|
||||||
// GET "/containers/{name:.*}/archive"
|
|
||||||
// "Name" is the file or directory name.
|
|
||||||
//
|
|
||||||
// Deprecated: use [container.PathStat].
|
|
||||||
type ContainerPathStat = container.PathStat
|
|
||||||
|
|
||||||
// CopyToContainerOptions holds information
|
|
||||||
// about files to copy into a container.
|
|
||||||
//
|
|
||||||
// Deprecated: use [container.CopyToContainerOptions],
|
|
||||||
type CopyToContainerOptions = container.CopyToContainerOptions
|
|
||||||
|
|
||||||
// ContainerStats contains response of Engine API:
|
|
||||||
// GET "/stats"
|
|
||||||
//
|
|
||||||
// Deprecated: use [container.StatsResponseReader].
|
|
||||||
type ContainerStats = container.StatsResponseReader
|
|
||||||
|
|
||||||
// ThrottlingData stores CPU throttling stats of one running container.
|
|
||||||
// Not used on Windows.
|
|
||||||
//
|
|
||||||
// Deprecated: use [container.ThrottlingData].
|
|
||||||
type ThrottlingData = container.ThrottlingData
|
|
||||||
|
|
||||||
// CPUUsage stores All CPU stats aggregated since container inception.
|
|
||||||
//
|
|
||||||
// Deprecated: use [container.CPUUsage].
|
|
||||||
type CPUUsage = container.CPUUsage
|
|
||||||
|
|
||||||
// CPUStats aggregates and wraps all CPU related info of container
|
|
||||||
//
|
|
||||||
// Deprecated: use [container.CPUStats].
|
|
||||||
type CPUStats = container.CPUStats
|
|
||||||
|
|
||||||
// MemoryStats aggregates all memory stats since container inception on Linux.
|
|
||||||
// Windows returns stats for commit and private working set only.
|
|
||||||
//
|
|
||||||
// Deprecated: use [container.MemoryStats].
|
|
||||||
type MemoryStats = container.MemoryStats
|
|
||||||
|
|
||||||
// BlkioStatEntry is one small entity to store a piece of Blkio stats
|
|
||||||
// Not used on Windows.
|
|
||||||
//
|
|
||||||
// Deprecated: use [container.BlkioStatEntry].
|
|
||||||
type BlkioStatEntry = container.BlkioStatEntry
|
|
||||||
|
|
||||||
// BlkioStats stores All IO service stats for data read and write.
|
|
||||||
// This is a Linux specific structure as the differences between expressing
|
|
||||||
// block I/O on Windows and Linux are sufficiently significant to make
|
|
||||||
// little sense attempting to morph into a combined structure.
|
|
||||||
//
|
|
||||||
// Deprecated: use [container.BlkioStats].
|
|
||||||
type BlkioStats = container.BlkioStats
|
|
||||||
|
|
||||||
// StorageStats is the disk I/O stats for read/write on Windows.
|
|
||||||
//
|
|
||||||
// Deprecated: use [container.StorageStats].
|
|
||||||
type StorageStats = container.StorageStats
|
|
||||||
|
|
||||||
// NetworkStats aggregates the network stats of one container
|
|
||||||
//
|
|
||||||
// Deprecated: use [container.NetworkStats].
|
|
||||||
type NetworkStats = container.NetworkStats
|
|
||||||
|
|
||||||
// PidsStats contains the stats of a container's pids
|
|
||||||
//
|
|
||||||
// Deprecated: use [container.PidsStats].
|
|
||||||
type PidsStats = container.PidsStats
|
|
||||||
|
|
||||||
// Stats is Ultimate struct aggregating all types of stats of one container
|
|
||||||
//
|
|
||||||
// Deprecated: use [container.Stats].
|
|
||||||
type Stats = container.Stats
|
|
||||||
|
|
||||||
// StatsJSON is newly used Networks
|
|
||||||
//
|
|
||||||
// Deprecated: use [container.StatsResponse].
|
|
||||||
type StatsJSON = container.StatsResponse
|
|
||||||
|
|
||||||
// EventsOptions holds parameters to filter events with.
|
|
||||||
//
|
|
||||||
// Deprecated: use [events.ListOptions].
|
|
||||||
type EventsOptions = events.ListOptions
|
|
||||||
|
|
||||||
// ImageSearchOptions holds parameters to search images with.
|
|
||||||
//
|
|
||||||
// Deprecated: use [registry.SearchOptions].
|
|
||||||
type ImageSearchOptions = registry.SearchOptions
|
|
||||||
|
|
||||||
// ImageImportSource holds source information for ImageImport
|
|
||||||
//
|
|
||||||
// Deprecated: use [image.ImportSource].
|
|
||||||
type ImageImportSource image.ImportSource
|
|
||||||
|
|
||||||
// ImageLoadResponse returns information to the client about a load process.
|
|
||||||
//
|
|
||||||
// Deprecated: use [image.LoadResponse].
|
|
||||||
type ImageLoadResponse = image.LoadResponse
|
|
||||||
|
|
||||||
// ContainerNode stores information about the node that a container
|
|
||||||
// is running on. It's only used by the Docker Swarm standalone API.
|
|
||||||
//
|
|
||||||
// Deprecated: ContainerNode was used for the classic Docker Swarm standalone API. It will be removed in the next release.
|
|
||||||
type ContainerNode struct {
|
|
||||||
ID string
|
|
||||||
IPAddress string `json:"IP"`
|
|
||||||
Addr string
|
|
||||||
Name string
|
|
||||||
Cpus int
|
|
||||||
Memory int64
|
|
||||||
Labels map[string]string
|
|
||||||
}
|
|
||||||
|
|
|
@ -7,29 +7,29 @@ import (
|
||||||
"io"
|
"io"
|
||||||
"net/url"
|
"net/url"
|
||||||
|
|
||||||
"github.com/docker/docker/api/types"
|
"github.com/docker/docker/api/types/container"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ContainerInspect returns the container information.
|
// ContainerInspect returns the container information.
|
||||||
func (cli *Client) ContainerInspect(ctx context.Context, containerID string) (types.ContainerJSON, error) {
|
func (cli *Client) ContainerInspect(ctx context.Context, containerID string) (container.InspectResponse, error) {
|
||||||
if containerID == "" {
|
if containerID == "" {
|
||||||
return types.ContainerJSON{}, objectNotFoundError{object: "container", id: containerID}
|
return container.InspectResponse{}, objectNotFoundError{object: "container", id: containerID}
|
||||||
}
|
}
|
||||||
serverResp, err := cli.get(ctx, "/containers/"+containerID+"/json", nil, nil)
|
serverResp, err := cli.get(ctx, "/containers/"+containerID+"/json", nil, nil)
|
||||||
defer ensureReaderClosed(serverResp)
|
defer ensureReaderClosed(serverResp)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return types.ContainerJSON{}, err
|
return container.InspectResponse{}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
var response types.ContainerJSON
|
var response container.InspectResponse
|
||||||
err = json.NewDecoder(serverResp.body).Decode(&response)
|
err = json.NewDecoder(serverResp.body).Decode(&response)
|
||||||
return response, err
|
return response, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// ContainerInspectWithRaw returns the container information and its raw representation.
|
// ContainerInspectWithRaw returns the container information and its raw representation.
|
||||||
func (cli *Client) ContainerInspectWithRaw(ctx context.Context, containerID string, getSize bool) (types.ContainerJSON, []byte, error) {
|
func (cli *Client) ContainerInspectWithRaw(ctx context.Context, containerID string, getSize bool) (container.InspectResponse, []byte, error) {
|
||||||
if containerID == "" {
|
if containerID == "" {
|
||||||
return types.ContainerJSON{}, nil, objectNotFoundError{object: "container", id: containerID}
|
return container.InspectResponse{}, nil, objectNotFoundError{object: "container", id: containerID}
|
||||||
}
|
}
|
||||||
query := url.Values{}
|
query := url.Values{}
|
||||||
if getSize {
|
if getSize {
|
||||||
|
@ -38,15 +38,15 @@ func (cli *Client) ContainerInspectWithRaw(ctx context.Context, containerID stri
|
||||||
serverResp, err := cli.get(ctx, "/containers/"+containerID+"/json", query, nil)
|
serverResp, err := cli.get(ctx, "/containers/"+containerID+"/json", query, nil)
|
||||||
defer ensureReaderClosed(serverResp)
|
defer ensureReaderClosed(serverResp)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return types.ContainerJSON{}, nil, err
|
return container.InspectResponse{}, nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
body, err := io.ReadAll(serverResp.body)
|
body, err := io.ReadAll(serverResp.body)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return types.ContainerJSON{}, nil, err
|
return container.InspectResponse{}, nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
var response types.ContainerJSON
|
var response container.InspectResponse
|
||||||
rdr := bytes.NewReader(body)
|
rdr := bytes.NewReader(body)
|
||||||
err = json.NewDecoder(rdr).Decode(&response)
|
err = json.NewDecoder(rdr).Decode(&response)
|
||||||
return response, body, err
|
return response, body, err
|
||||||
|
|
|
@ -6,13 +6,12 @@ import (
|
||||||
"net/url"
|
"net/url"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"github.com/docker/docker/api/types"
|
|
||||||
"github.com/docker/docker/api/types/container"
|
"github.com/docker/docker/api/types/container"
|
||||||
"github.com/docker/docker/api/types/filters"
|
"github.com/docker/docker/api/types/filters"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ContainerList returns the list of containers in the docker host.
|
// ContainerList returns the list of containers in the docker host.
|
||||||
func (cli *Client) ContainerList(ctx context.Context, options container.ListOptions) ([]types.Container, error) {
|
func (cli *Client) ContainerList(ctx context.Context, options container.ListOptions) ([]container.Summary, error) {
|
||||||
query := url.Values{}
|
query := url.Values{}
|
||||||
|
|
||||||
if options.All {
|
if options.All {
|
||||||
|
@ -51,7 +50,7 @@ func (cli *Client) ContainerList(ctx context.Context, options container.ListOpti
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
var containers []types.Container
|
var containers []container.Summary
|
||||||
err = json.NewDecoder(resp.body).Decode(&containers)
|
err = json.NewDecoder(resp.body).Decode(&containers)
|
||||||
return containers, err
|
return containers, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,26 +6,26 @@ import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"io"
|
"io"
|
||||||
|
|
||||||
"github.com/docker/docker/api/types"
|
"github.com/docker/docker/api/types/image"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ImageInspectWithRaw returns the image information and its raw representation.
|
// ImageInspectWithRaw returns the image information and its raw representation.
|
||||||
func (cli *Client) ImageInspectWithRaw(ctx context.Context, imageID string) (types.ImageInspect, []byte, error) {
|
func (cli *Client) ImageInspectWithRaw(ctx context.Context, imageID string) (image.InspectResponse, []byte, error) {
|
||||||
if imageID == "" {
|
if imageID == "" {
|
||||||
return types.ImageInspect{}, nil, objectNotFoundError{object: "image", id: imageID}
|
return image.InspectResponse{}, nil, objectNotFoundError{object: "image", id: imageID}
|
||||||
}
|
}
|
||||||
serverResp, err := cli.get(ctx, "/images/"+imageID+"/json", nil, nil)
|
serverResp, err := cli.get(ctx, "/images/"+imageID+"/json", nil, nil)
|
||||||
defer ensureReaderClosed(serverResp)
|
defer ensureReaderClosed(serverResp)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return types.ImageInspect{}, nil, err
|
return image.InspectResponse{}, nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
body, err := io.ReadAll(serverResp.body)
|
body, err := io.ReadAll(serverResp.body)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return types.ImageInspect{}, nil, err
|
return image.InspectResponse{}, nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
var response types.ImageInspect
|
var response image.InspectResponse
|
||||||
rdr := bytes.NewReader(body)
|
rdr := bytes.NewReader(body)
|
||||||
err = json.NewDecoder(rdr).Decode(&response)
|
err = json.NewDecoder(rdr).Decode(&response)
|
||||||
return response, body, err
|
return response, body, err
|
||||||
|
|
|
@ -56,10 +56,10 @@ type ContainerAPIClient interface {
|
||||||
ContainerExecResize(ctx context.Context, execID string, options container.ResizeOptions) error
|
ContainerExecResize(ctx context.Context, execID string, options container.ResizeOptions) error
|
||||||
ContainerExecStart(ctx context.Context, execID string, options container.ExecStartOptions) error
|
ContainerExecStart(ctx context.Context, execID string, options container.ExecStartOptions) error
|
||||||
ContainerExport(ctx context.Context, container string) (io.ReadCloser, error)
|
ContainerExport(ctx context.Context, container string) (io.ReadCloser, error)
|
||||||
ContainerInspect(ctx context.Context, container string) (types.ContainerJSON, error)
|
ContainerInspect(ctx context.Context, container string) (container.InspectResponse, error)
|
||||||
ContainerInspectWithRaw(ctx context.Context, container string, getSize bool) (types.ContainerJSON, []byte, error)
|
ContainerInspectWithRaw(ctx context.Context, container string, getSize bool) (container.InspectResponse, []byte, error)
|
||||||
ContainerKill(ctx context.Context, container, signal string) error
|
ContainerKill(ctx context.Context, container, signal string) error
|
||||||
ContainerList(ctx context.Context, options container.ListOptions) ([]types.Container, error)
|
ContainerList(ctx context.Context, options container.ListOptions) ([]container.Summary, error)
|
||||||
ContainerLogs(ctx context.Context, container string, options container.LogsOptions) (io.ReadCloser, error)
|
ContainerLogs(ctx context.Context, container string, options container.LogsOptions) (io.ReadCloser, error)
|
||||||
ContainerPause(ctx context.Context, container string) error
|
ContainerPause(ctx context.Context, container string) error
|
||||||
ContainerRemove(ctx context.Context, container string, options container.RemoveOptions) error
|
ContainerRemove(ctx context.Context, container string, options container.RemoveOptions) error
|
||||||
|
@ -93,7 +93,7 @@ type ImageAPIClient interface {
|
||||||
ImageCreate(ctx context.Context, parentReference string, options image.CreateOptions) (io.ReadCloser, error)
|
ImageCreate(ctx context.Context, parentReference string, options image.CreateOptions) (io.ReadCloser, error)
|
||||||
ImageHistory(ctx context.Context, image string) ([]image.HistoryResponseItem, error)
|
ImageHistory(ctx context.Context, image string) ([]image.HistoryResponseItem, error)
|
||||||
ImageImport(ctx context.Context, source image.ImportSource, ref string, options image.ImportOptions) (io.ReadCloser, error)
|
ImageImport(ctx context.Context, source image.ImportSource, ref string, options image.ImportOptions) (io.ReadCloser, error)
|
||||||
ImageInspectWithRaw(ctx context.Context, image string) (types.ImageInspect, []byte, error)
|
ImageInspectWithRaw(ctx context.Context, image string) (image.InspectResponse, []byte, error)
|
||||||
ImageList(ctx context.Context, options image.ListOptions) ([]image.Summary, error)
|
ImageList(ctx context.Context, options image.ListOptions) ([]image.Summary, error)
|
||||||
ImageLoad(ctx context.Context, input io.Reader, quiet bool) (image.LoadResponse, error)
|
ImageLoad(ctx context.Context, input io.Reader, quiet bool) (image.LoadResponse, error)
|
||||||
ImagePull(ctx context.Context, ref string, options image.PullOptions) (io.ReadCloser, error)
|
ImagePull(ctx context.Context, ref string, options image.PullOptions) (io.ReadCloser, error)
|
||||||
|
|
|
@ -11,36 +11,37 @@ func FromStatusCode(err error, statusCode int) error {
|
||||||
}
|
}
|
||||||
switch statusCode {
|
switch statusCode {
|
||||||
case http.StatusNotFound:
|
case http.StatusNotFound:
|
||||||
err = NotFound(err)
|
return NotFound(err)
|
||||||
case http.StatusBadRequest:
|
case http.StatusBadRequest:
|
||||||
err = InvalidParameter(err)
|
return InvalidParameter(err)
|
||||||
case http.StatusConflict:
|
case http.StatusConflict:
|
||||||
err = Conflict(err)
|
return Conflict(err)
|
||||||
case http.StatusUnauthorized:
|
case http.StatusUnauthorized:
|
||||||
err = Unauthorized(err)
|
return Unauthorized(err)
|
||||||
case http.StatusServiceUnavailable:
|
case http.StatusServiceUnavailable:
|
||||||
err = Unavailable(err)
|
return Unavailable(err)
|
||||||
case http.StatusForbidden:
|
case http.StatusForbidden:
|
||||||
err = Forbidden(err)
|
return Forbidden(err)
|
||||||
case http.StatusNotModified:
|
case http.StatusNotModified:
|
||||||
err = NotModified(err)
|
return NotModified(err)
|
||||||
case http.StatusNotImplemented:
|
case http.StatusNotImplemented:
|
||||||
err = NotImplemented(err)
|
return NotImplemented(err)
|
||||||
case http.StatusInternalServerError:
|
case http.StatusInternalServerError:
|
||||||
if !IsSystem(err) && !IsUnknown(err) && !IsDataLoss(err) && !IsDeadline(err) && !IsCancelled(err) {
|
if IsCancelled(err) || IsSystem(err) || IsUnknown(err) || IsDataLoss(err) || IsDeadline(err) {
|
||||||
err = System(err)
|
return err
|
||||||
}
|
}
|
||||||
|
return System(err)
|
||||||
default:
|
default:
|
||||||
switch {
|
switch {
|
||||||
case statusCode >= 200 && statusCode < 400:
|
case statusCode >= 200 && statusCode < 400:
|
||||||
// it's a client error
|
// it's a client error
|
||||||
|
return err
|
||||||
case statusCode >= 400 && statusCode < 500:
|
case statusCode >= 400 && statusCode < 500:
|
||||||
err = InvalidParameter(err)
|
return InvalidParameter(err)
|
||||||
case statusCode >= 500 && statusCode < 600:
|
case statusCode >= 500 && statusCode < 600:
|
||||||
err = System(err)
|
return System(err)
|
||||||
default:
|
default:
|
||||||
err = Unknown(err)
|
return Unknown(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return err
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,7 +56,7 @@ github.com/docker/distribution/registry/client/transport
|
||||||
github.com/docker/distribution/registry/storage/cache
|
github.com/docker/distribution/registry/storage/cache
|
||||||
github.com/docker/distribution/registry/storage/cache/memory
|
github.com/docker/distribution/registry/storage/cache/memory
|
||||||
github.com/docker/distribution/uuid
|
github.com/docker/distribution/uuid
|
||||||
# github.com/docker/docker v27.0.3+incompatible
|
# github.com/docker/docker v27.0.2-0.20240703234935-508cc7c61226+incompatible
|
||||||
## explicit
|
## explicit
|
||||||
github.com/docker/docker/api
|
github.com/docker/docker/api
|
||||||
github.com/docker/docker/api/types
|
github.com/docker/docker/api/types
|
||||||
|
@ -70,6 +70,7 @@ github.com/docker/docker/api/types/image
|
||||||
github.com/docker/docker/api/types/mount
|
github.com/docker/docker/api/types/mount
|
||||||
github.com/docker/docker/api/types/network
|
github.com/docker/docker/api/types/network
|
||||||
github.com/docker/docker/api/types/registry
|
github.com/docker/docker/api/types/registry
|
||||||
|
github.com/docker/docker/api/types/storage
|
||||||
github.com/docker/docker/api/types/strslice
|
github.com/docker/docker/api/types/strslice
|
||||||
github.com/docker/docker/api/types/swarm
|
github.com/docker/docker/api/types/swarm
|
||||||
github.com/docker/docker/api/types/swarm/runtime
|
github.com/docker/docker/api/types/swarm/runtime
|
||||||
|
|
Loading…
Reference in New Issue