mirror of https://github.com/docker/buildx.git
Merge pull request #1945 from crazy-max/bump-docker
vendor: github.com/docker/docker@24.0 36e9e79
This commit is contained in:
commit
a65131f9d3
2
go.mod
2
go.mod
|
@ -14,7 +14,7 @@ require (
|
||||||
github.com/docker/cli v24.0.2+incompatible
|
github.com/docker/cli v24.0.2+incompatible
|
||||||
github.com/docker/cli-docs-tool v0.6.0
|
github.com/docker/cli-docs-tool v0.6.0
|
||||||
github.com/docker/distribution v2.8.2+incompatible
|
github.com/docker/distribution v2.8.2+incompatible
|
||||||
github.com/docker/docker v24.0.2+incompatible
|
github.com/docker/docker v24.0.5-0.20230714235725-36e9e796c6fc+incompatible // 24.0
|
||||||
github.com/docker/go-units v0.5.0
|
github.com/docker/go-units v0.5.0
|
||||||
github.com/gofrs/flock v0.8.1
|
github.com/gofrs/flock v0.8.1
|
||||||
github.com/gogo/protobuf v1.3.2
|
github.com/gogo/protobuf v1.3.2
|
||||||
|
|
4
go.sum
4
go.sum
|
@ -156,8 +156,8 @@ github.com/docker/cli-docs-tool v0.6.0 h1:Z9x10SaZgFaB6jHgz3OWooynhSa40CsWkpe5hE
|
||||||
github.com/docker/cli-docs-tool v0.6.0/go.mod h1:zMjqTFCU361PRh8apiXzeAZ1Q/xupbIwTusYpzCXS/o=
|
github.com/docker/cli-docs-tool v0.6.0/go.mod h1:zMjqTFCU361PRh8apiXzeAZ1Q/xupbIwTusYpzCXS/o=
|
||||||
github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8=
|
github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8=
|
||||||
github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
|
github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
|
||||||
github.com/docker/docker v24.0.2+incompatible h1:eATx+oLz9WdNVkQrr0qjQ8HvRJ4bOOxfzEo8R+dA3cg=
|
github.com/docker/docker v24.0.5-0.20230714235725-36e9e796c6fc+incompatible h1:sdGvA1bxu/1J51gAs1XU0bZC+2WxncYnI210as3c6g8=
|
||||||
github.com/docker/docker v24.0.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
|
github.com/docker/docker v24.0.5-0.20230714235725-36e9e796c6fc+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
|
||||||
github.com/docker/docker-credential-helpers v0.7.0 h1:xtCHsjxogADNZcdv1pKUHXryefjlVRqWqIhk/uXJp0A=
|
github.com/docker/docker-credential-helpers v0.7.0 h1:xtCHsjxogADNZcdv1pKUHXryefjlVRqWqIhk/uXJp0A=
|
||||||
github.com/docker/docker-credential-helpers v0.7.0/go.mod h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0=
|
github.com/docker/docker-credential-helpers v0.7.0/go.mod h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0=
|
||||||
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=
|
||||||
|
|
|
@ -5162,42 +5162,8 @@ definitions:
|
||||||
ServerVersion:
|
ServerVersion:
|
||||||
description: |
|
description: |
|
||||||
Version string of the daemon.
|
Version string of the daemon.
|
||||||
|
|
||||||
> **Note**: the [standalone Swarm API](https://docs.docker.com/swarm/swarm-api/)
|
|
||||||
> returns the Swarm version instead of the daemon version, for example
|
|
||||||
> `swarm/1.2.8`.
|
|
||||||
type: "string"
|
type: "string"
|
||||||
example: "17.06.0-ce"
|
example: "24.0.2"
|
||||||
ClusterStore:
|
|
||||||
description: |
|
|
||||||
URL of the distributed storage backend.
|
|
||||||
|
|
||||||
|
|
||||||
The storage backend is used for multihost networking (to store
|
|
||||||
network and endpoint information) and by the node discovery mechanism.
|
|
||||||
|
|
||||||
<p><br /></p>
|
|
||||||
|
|
||||||
> **Deprecated**: This field is only propagated when using standalone Swarm
|
|
||||||
> mode, and overlay networking using an external k/v store. Overlay
|
|
||||||
> networks with Swarm mode enabled use the built-in raft store, and
|
|
||||||
> this field will be empty.
|
|
||||||
type: "string"
|
|
||||||
example: "consul://consul.corp.example.com:8600/some/path"
|
|
||||||
ClusterAdvertise:
|
|
||||||
description: |
|
|
||||||
The network endpoint that the Engine advertises for the purpose of
|
|
||||||
node discovery. ClusterAdvertise is a `host:port` combination on which
|
|
||||||
the daemon is reachable by other hosts.
|
|
||||||
|
|
||||||
<p><br /></p>
|
|
||||||
|
|
||||||
> **Deprecated**: This field is only propagated when using standalone Swarm
|
|
||||||
> mode, and overlay networking using an external k/v store. Overlay
|
|
||||||
> networks with Swarm mode enabled use the built-in raft store, and
|
|
||||||
> this field will be empty.
|
|
||||||
type: "string"
|
|
||||||
example: "node5.corp.example.com:8000"
|
|
||||||
Runtimes:
|
Runtimes:
|
||||||
description: |
|
description: |
|
||||||
List of [OCI compliant](https://github.com/opencontainers/runtime-spec)
|
List of [OCI compliant](https://github.com/opencontainers/runtime-spec)
|
||||||
|
@ -10393,6 +10359,12 @@ paths:
|
||||||
default if omitted.
|
default if omitted.
|
||||||
required: true
|
required: true
|
||||||
type: "string"
|
type: "string"
|
||||||
|
- name: "force"
|
||||||
|
in: "query"
|
||||||
|
description: |
|
||||||
|
Force disable a plugin even if still in use.
|
||||||
|
required: false
|
||||||
|
type: "boolean"
|
||||||
tags: ["Plugin"]
|
tags: ["Plugin"]
|
||||||
/plugins/{name}/upgrade:
|
/plugins/{name}/upgrade:
|
||||||
post:
|
post:
|
||||||
|
|
|
@ -3,7 +3,7 @@ package types // import "github.com/docker/docker/api/types"
|
||||||
import (
|
import (
|
||||||
"github.com/docker/docker/api/types/container"
|
"github.com/docker/docker/api/types/container"
|
||||||
"github.com/docker/docker/api/types/network"
|
"github.com/docker/docker/api/types/network"
|
||||||
specs "github.com/opencontainers/image-spec/specs-go/v1"
|
ocispec "github.com/opencontainers/image-spec/specs-go/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
// configs holds structs used for internal communication between the
|
// configs holds structs used for internal communication between the
|
||||||
|
@ -16,7 +16,7 @@ type ContainerCreateConfig struct {
|
||||||
Config *container.Config
|
Config *container.Config
|
||||||
HostConfig *container.HostConfig
|
HostConfig *container.HostConfig
|
||||||
NetworkingConfig *network.NetworkingConfig
|
NetworkingConfig *network.NetworkingConfig
|
||||||
Platform *specs.Platform
|
Platform *ocispec.Platform
|
||||||
AdjustCPUShares bool
|
AdjustCPUShares bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
package image
|
package image
|
||||||
|
|
||||||
import specs "github.com/opencontainers/image-spec/specs-go/v1"
|
import ocispec "github.com/opencontainers/image-spec/specs-go/v1"
|
||||||
|
|
||||||
// GetImageOpts holds parameters to inspect an image.
|
// GetImageOpts holds parameters to inspect an image.
|
||||||
type GetImageOpts struct {
|
type GetImageOpts struct {
|
||||||
Platform *specs.Platform
|
Platform *ocispec.Platform
|
||||||
Details bool
|
Details bool
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@ import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"net"
|
"net"
|
||||||
|
|
||||||
v1 "github.com/opencontainers/image-spec/specs-go/v1"
|
ocispec "github.com/opencontainers/image-spec/specs-go/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ServiceConfig stores daemon registry services configuration.
|
// ServiceConfig stores daemon registry services configuration.
|
||||||
|
@ -113,8 +113,8 @@ type SearchResults struct {
|
||||||
type DistributionInspect struct {
|
type DistributionInspect struct {
|
||||||
// Descriptor contains information about the manifest, including
|
// Descriptor contains information about the manifest, including
|
||||||
// the content addressable digest
|
// the content addressable digest
|
||||||
Descriptor v1.Descriptor
|
Descriptor ocispec.Descriptor
|
||||||
// Platforms contains the list of platforms supported by the image,
|
// Platforms contains the list of platforms supported by the image,
|
||||||
// obtained by parsing the manifest
|
// obtained by parsing the manifest
|
||||||
Platforms []v1.Platform
|
Platforms []ocispec.Platform
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,6 +56,36 @@ import (
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// DummyHost is a hostname used for local communication.
|
||||||
|
//
|
||||||
|
// It acts as a valid formatted hostname for local connections (such as "unix://"
|
||||||
|
// or "npipe://") which do not require a hostname. It should never be resolved,
|
||||||
|
// but uses the special-purpose ".localhost" TLD (as defined in [RFC 2606, Section 2]
|
||||||
|
// and [RFC 6761, Section 6.3]).
|
||||||
|
//
|
||||||
|
// [RFC 7230, Section 5.4] defines that an empty header must be used for such
|
||||||
|
// cases:
|
||||||
|
//
|
||||||
|
// If the authority component is missing or undefined for the target URI,
|
||||||
|
// then a client MUST send a Host header field with an empty field-value.
|
||||||
|
//
|
||||||
|
// However, [Go stdlib] enforces the semantics of HTTP(S) over TCP, does not
|
||||||
|
// allow an empty header to be used, and requires req.URL.Scheme to be either
|
||||||
|
// "http" or "https".
|
||||||
|
//
|
||||||
|
// For further details, refer to:
|
||||||
|
//
|
||||||
|
// - https://github.com/docker/engine-api/issues/189
|
||||||
|
// - https://github.com/golang/go/issues/13624
|
||||||
|
// - https://github.com/golang/go/issues/61076
|
||||||
|
// - https://github.com/moby/moby/issues/45935
|
||||||
|
//
|
||||||
|
// [RFC 2606, Section 2]: https://www.rfc-editor.org/rfc/rfc2606.html#section-2
|
||||||
|
// [RFC 6761, Section 6.3]: https://www.rfc-editor.org/rfc/rfc6761#section-6.3
|
||||||
|
// [RFC 7230, Section 5.4]: https://datatracker.ietf.org/doc/html/rfc7230#section-5.4
|
||||||
|
// [Go stdlib]: https://github.com/golang/go/blob/6244b1946bc2101b01955468f1be502dbadd6807/src/net/http/transport.go#L558-L569
|
||||||
|
const DummyHost = "api.moby.localhost"
|
||||||
|
|
||||||
// ErrRedirect is the error returned by checkRedirect when the request is non-GET.
|
// ErrRedirect is the error returned by checkRedirect when the request is non-GET.
|
||||||
var ErrRedirect = errors.New("unexpected redirect in response")
|
var ErrRedirect = errors.New("unexpected redirect in response")
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ import (
|
||||||
"github.com/docker/docker/api/types/container"
|
"github.com/docker/docker/api/types/container"
|
||||||
"github.com/docker/docker/api/types/network"
|
"github.com/docker/docker/api/types/network"
|
||||||
"github.com/docker/docker/api/types/versions"
|
"github.com/docker/docker/api/types/versions"
|
||||||
specs "github.com/opencontainers/image-spec/specs-go/v1"
|
ocispec "github.com/opencontainers/image-spec/specs-go/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
type configWrapper struct {
|
type configWrapper struct {
|
||||||
|
@ -20,7 +20,7 @@ type configWrapper struct {
|
||||||
|
|
||||||
// ContainerCreate creates a new container based on the given configuration.
|
// ContainerCreate creates a new container based on the given configuration.
|
||||||
// It can be associated with a name, but it's not mandatory.
|
// It can be associated with a name, but it's not mandatory.
|
||||||
func (cli *Client) ContainerCreate(ctx context.Context, config *container.Config, hostConfig *container.HostConfig, networkingConfig *network.NetworkingConfig, platform *specs.Platform, containerName string) (container.CreateResponse, error) {
|
func (cli *Client) ContainerCreate(ctx context.Context, config *container.Config, hostConfig *container.HostConfig, networkingConfig *network.NetworkingConfig, platform *ocispec.Platform, containerName string) (container.CreateResponse, error) {
|
||||||
var response container.CreateResponse
|
var response container.CreateResponse
|
||||||
|
|
||||||
if err := cli.NewVersionError("1.25", "stop timeout"); config != nil && config.StopTimeout != nil && err != nil {
|
if err := cli.NewVersionError("1.25", "stop timeout"); config != nil && config.StopTimeout != nil && err != nil {
|
||||||
|
@ -75,7 +75,7 @@ func (cli *Client) ContainerCreate(ctx context.Context, config *container.Config
|
||||||
// Similar to containerd's platforms.Format(), but does allow components to be
|
// Similar to containerd's platforms.Format(), but does allow components to be
|
||||||
// omitted (e.g. pass "architecture" only, without "os":
|
// omitted (e.g. pass "architecture" only, without "os":
|
||||||
// https://github.com/containerd/containerd/blob/v1.5.2/platforms/platforms.go#L243-L263
|
// https://github.com/containerd/containerd/blob/v1.5.2/platforms/platforms.go#L243-L263
|
||||||
func formatPlatform(platform *specs.Platform) string {
|
func formatPlatform(platform *ocispec.Platform) string {
|
||||||
if platform == nil {
|
if platform == nil {
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,7 +64,11 @@ func fallbackDial(proto, addr string, tlsConfig *tls.Config) (net.Conn, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (cli *Client) setupHijackConn(ctx context.Context, req *http.Request, proto string) (net.Conn, string, error) {
|
func (cli *Client) setupHijackConn(ctx context.Context, req *http.Request, proto string) (net.Conn, string, error) {
|
||||||
req.Host = cli.addr
|
req.URL.Host = cli.addr
|
||||||
|
if cli.proto == "unix" || cli.proto == "npipe" {
|
||||||
|
// Override host header for non-tcp connections.
|
||||||
|
req.Host = DummyHost
|
||||||
|
}
|
||||||
req.Header.Set("Connection", "Upgrade")
|
req.Header.Set("Connection", "Upgrade")
|
||||||
req.Header.Set("Upgrade", proto)
|
req.Header.Set("Upgrade", proto)
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@ import (
|
||||||
"github.com/docker/docker/api/types/registry"
|
"github.com/docker/docker/api/types/registry"
|
||||||
"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"
|
||||||
specs "github.com/opencontainers/image-spec/specs-go/v1"
|
ocispec "github.com/opencontainers/image-spec/specs-go/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
// CommonAPIClient is the common methods between stable and experimental versions of APIClient.
|
// CommonAPIClient is the common methods between stable and experimental versions of APIClient.
|
||||||
|
@ -47,7 +47,7 @@ type CommonAPIClient interface {
|
||||||
type ContainerAPIClient interface {
|
type ContainerAPIClient interface {
|
||||||
ContainerAttach(ctx context.Context, container string, options types.ContainerAttachOptions) (types.HijackedResponse, error)
|
ContainerAttach(ctx context.Context, container string, options types.ContainerAttachOptions) (types.HijackedResponse, error)
|
||||||
ContainerCommit(ctx context.Context, container string, options types.ContainerCommitOptions) (types.IDResponse, error)
|
ContainerCommit(ctx context.Context, container string, options types.ContainerCommitOptions) (types.IDResponse, error)
|
||||||
ContainerCreate(ctx context.Context, config *container.Config, hostConfig *container.HostConfig, networkingConfig *network.NetworkingConfig, platform *specs.Platform, containerName string) (container.CreateResponse, error)
|
ContainerCreate(ctx context.Context, config *container.Config, hostConfig *container.HostConfig, networkingConfig *network.NetworkingConfig, platform *ocispec.Platform, containerName string) (container.CreateResponse, error)
|
||||||
ContainerDiff(ctx context.Context, container string) ([]container.FilesystemChange, error)
|
ContainerDiff(ctx context.Context, container string) ([]container.FilesystemChange, error)
|
||||||
ContainerExecAttach(ctx context.Context, execID string, config types.ExecStartCheck) (types.HijackedResponse, error)
|
ContainerExecAttach(ctx context.Context, execID string, config types.ExecStartCheck) (types.HijackedResponse, error)
|
||||||
ContainerExecCreate(ctx context.Context, container string, config types.ExecConfig) (types.IDResponse, error)
|
ContainerExecCreate(ctx context.Context, container string, config types.ExecConfig) (types.IDResponse, error)
|
||||||
|
|
|
@ -96,16 +96,14 @@ func (cli *Client) buildRequest(method, path string, body io.Reader, headers hea
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
req = cli.addHeaders(req, headers)
|
req = cli.addHeaders(req, headers)
|
||||||
|
req.URL.Scheme = cli.scheme
|
||||||
|
req.URL.Host = cli.addr
|
||||||
|
|
||||||
if cli.proto == "unix" || cli.proto == "npipe" {
|
if cli.proto == "unix" || cli.proto == "npipe" {
|
||||||
// For local communications, it doesn't matter what the host is. We just
|
// Override host header for non-tcp connections.
|
||||||
// need a valid and meaningful host name. (See #189)
|
req.Host = DummyHost
|
||||||
req.Host = "docker"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
req.URL.Host = cli.addr
|
|
||||||
req.URL.Scheme = cli.scheme
|
|
||||||
|
|
||||||
if expectedPayload && req.Header.Get("Content-Type") == "" {
|
if expectedPayload && req.Header.Get("Content-Type") == "" {
|
||||||
req.Header.Set("Content-Type", "text/plain")
|
req.Header.Set("Content-Type", "text/plain")
|
||||||
}
|
}
|
||||||
|
|
|
@ -167,7 +167,10 @@ func callGetent(database, key string) (io.Reader, error) {
|
||||||
if getentCmd == "" {
|
if getentCmd == "" {
|
||||||
return nil, fmt.Errorf("unable to find getent command")
|
return nil, fmt.Errorf("unable to find getent command")
|
||||||
}
|
}
|
||||||
out, err := exec.Command(getentCmd, database, key).CombinedOutput()
|
command := exec.Command(getentCmd, database, key)
|
||||||
|
// we run getent within container filesystem, but without /dev so /dev/null is not available for exec to mock stdin
|
||||||
|
command.Stdin = io.NopCloser(bytes.NewReader(nil))
|
||||||
|
out, err := command.CombinedOutput()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
exitCode, errC := getExitCode(err)
|
exitCode, errC := getExitCode(err)
|
||||||
if errC != nil {
|
if errC != nil {
|
||||||
|
|
|
@ -257,7 +257,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 v24.0.2+incompatible
|
# github.com/docker/docker v24.0.5-0.20230714235725-36e9e796c6fc+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
|
||||||
|
|
Loading…
Reference in New Issue