Commit Graph

7205 Commits

Author SHA1 Message Date
Sebastiaan van Stijn e2986f4467
build: print error if BuildKit/non-BuildKit-specific flags are used
With this patch, the `--progress`, `--secret`, `--ssh`, and `--output` flags
trigger an error when trying to use without BuildKit enabled;

    DOCKER_BUILDKIT=0 docker build --progress=plain .
    --progress is only supported with BuildKit enabled. Enable BuildKit with DOCKER_BUILDKIT=1

    DOCKER_BUILDKIT=0 docker build --output=foo .
    --output is only supported with BuildKit enabled. Enable BuildKit with DOCKER_BUILDKIT=1

Likewise, options that are not supported yet by BuildKit, now trigger an error:

    DOCKER_BUILDKIT=1 docker build --memory=500M .
    --memory is not supported with BuildKit enabled. Disable BuildKit with DOCKER_BUILDKIT=0

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-11-17 11:06:29 +01:00
Silvin Lubecki 51a091485d
Merge pull request #2842 from thaJeztah/platform_experimental
build: remove PersistentPreRunE hack for experimental --platform
2020-11-17 11:02:06 +01:00
Sebastiaan van Stijn e3d93058fd
build: remove PersistentPreRunE hack for experimental --platform
This hack was added in an attempt to continue supporting the experimental
(non-buildkit) `--platform` option, by dynamically updating the API version
required if buildkit isn't enabled.

This hack didn't work, however, because at the moment the override is
added, the command is not yet attached to the "root" (`docker`) command,
and because of that, the command itself is the `root` command;
`cmd.Root()` returned the `build` command.

As a result, validation steps defined as `PersistentPreRunE` on the root
command were not executed, causing invalid flags/options to not producing
an error.

Attempts to use an alternative approach (for example, cobra supports both
a `PersistentPreRun` and `PersistentPreRunE`) did not work either, because
`PersistentPreRunE` takes precedence over `PersistentPreRun`, and only one
will be executed.

Now that `--platform` should be supported for other cases than just for
experimental (LCOW), let's remove the 'experimental' check, and just assume
it's supported for API v1.32 and up.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-11-16 14:58:11 +01:00
Sebastiaan van Stijn a7150fce23
Merge pull request #2835 from thaJeztah/bump_docker
vendor: update docker/docker and moby/sys
2020-11-12 21:07:43 +01:00
Sebastiaan van Stijn 325036df3e
Merge pull request #2831 from tianon/containerd
Add "--containerd-namespace" daemon flags in completion and docs
2020-11-10 23:57:02 +01:00
Sebastiaan van Stijn e8de41f729
Merge pull request #2832 from tianon/zsh-reviewers
Remove really outdated zsh-completion REVIEWERS file
2020-11-10 23:55:16 +01:00
Sebastiaan van Stijn 92516c7fb1
Merge pull request #2837 from albers/completion-remove-experimental-client
Always enable experimental features in bash completion
2020-11-10 23:53:33 +01:00
Sebastiaan van Stijn c318ec8a33
vendor: update docker/docker and moby/sys
diffs and relevant changes:

docker/docker: c2cc352355...af34b94a78
  - replace pkg/symlink with github.com/moby/sys/symlink

moby/sys: 6154f11e68...1bc8673b57

changes:
    - mount, mountinfo: Add support for OpenBSD in addition to FreeBSD
    - mount, mountinfo: Exclude macOS (darwin)
    - mount.RecursiveUnmount(): minor improvements
    - mount.RecursiveUnmount: add a fast path
    - mount: bump mountinfo to v0.3.1
    - mount: Some refactor and improved GoDoc about Windows support
    - mount: use MNT_* flags from golang.org/x/sys/unix on freebsd (reduces use of cgo)
    - mountinfo.Mounted: add fast path for Linux using openat2
    - mountinfo.Mounted: optimize by adding fast paths
    - mountinfo: correctness improvements
    - mountinfo: deprecate PidMountInfo
    - mountinfo: fix not showing package doc, typos
    - mountinfo: fix path unescaping
    - mountinfo: make GetMountinfoFromReader Linux-specific
    - mountinfo: rename FstypeFilter -> FSTypeFilter, fix FilterFunc docs
    - mountinfo: use idiomatic naming for fields
    - Migrate github.com/docker/docker/pkg/symlink

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-11-10 22:31:52 +01:00
Tibor Vass 4c12f1a921
Merge pull request #2836 from thaJeztah/fix_goimports
cli/command/container/stats.go: fix goimports
2020-11-10 12:47:09 -08:00
Sebastiaan van Stijn ee0d48048a
Merge pull request #2833 from KyleMit/patch-1
docs/builder: fix broken link
2020-11-10 21:43:50 +01:00
Harald Albers 1649540431 Always enable experimental features in bash completion
This amends #2774 for bash completion.

Signed-off-by: Harald Albers <github@albersweb.de>
2020-11-10 21:11:56 +01:00
Sebastiaan van Stijn ae5899e2b0
cli/command/container/stats.go: fix goimports
cli/command/container/stats.go:159: File is not `goimports`-ed (goimports)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-11-10 17:47:57 +01:00
Kyle c94f2d20b1 docs/builder: fix broken link
Signed-off-by: kylemit <Kylemit@gmail.com>
2020-11-07 08:35:07 -05:00
Tianon Gravi 3d84db96b4 Remove really outdated zsh-completion REVIEWERS file
Signed-off-by: Tianon Gravi <admwiggin@gmail.com>
2020-11-06 12:42:08 -08:00
Tianon Gravi 8258fc9059 Add "--containerd-namespace" daemon flags in completion and docs
This also adds the missing `containerd` key in the example daemon configuration files.

Signed-off-by: Tianon Gravi <admwiggin@gmail.com>
2020-11-06 12:34:10 -08:00
Sebastiaan van Stijn b07e921289
Merge pull request #2785 from bn4t/2784-use-waitgroup-instead-of-sleep
Wait on waitgroup instead of using time.Sleep
2020-11-06 21:29:11 +01:00
Sebastiaan van Stijn a9c2c30744
Merge pull request #2830 from tianon/sort-daemon-json
Use consistent formatting and sorted keys in all JSON examples for dockerd reference
2020-11-06 21:21:59 +01:00
Tianon Gravi 184e5feb72 Use consistent formatting and sorted keys in all JSON examples for dockerd reference
To create this, I ran every JSON document through `jq -S` (which sorts the keys and consistently pretty-prints the result in a format which matches the majority of documents in this file).

Signed-off-by: Tianon Gravi <admwiggin@gmail.com>
2020-11-06 11:52:06 -08:00
Sebastiaan van Stijn d5f1c8ebd6
Merge pull request #2821 from 1ace/patch-1
docs/builder: fix trivial formatting typo
2020-11-06 12:38:53 +01:00
Eric Engestrom e08a441575 docs/builder: fix typo
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
2020-11-03 20:11:23 +01:00
Silvin Lubecki c20be83d6b
Merge pull request #2804 from thaJeztah/containerd_console
vendor: containerd/console v1.0.1, golang.org/x/sys, moby/term
2020-11-03 17:51:49 +01:00
Sebastiaan van Stijn 1f4beebd7e
vendor: github.com/containerd/console v1.0.1
full diff: https://github.com/containerd/console/compare/v1.0.0...v1.0.1

Fixes compatibility with current versions of golang.org/x/sys

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-11-03 17:40:44 +01:00
Sebastiaan van Stijn 32d8f358df
vendor: github.com/moby/term 7f0af18e79f2784809e9cef63d0df5aa2c79d76e
full diff: 73f35e472e...7f0af18e79

- update gotest.tools to v3
- Use unix.Ioctl{Get,Set}Termios on all unix platforms
- Make Termios type alias, remove casts

vendor: golang.org/x/sys eeed37f84f13f52d35e095e8023ba65671ff86a1

ed371f2e16...eeed37f84f

- all: add GOOS=ios
- unix: add back IoctlCtlInfo on darwin
- windows: add SetConsoleCursorPosition
- unix: update Dockerfile to Linux 5.9 and Go 1.15.2 (adds `CAP_CHECKPOINT_RESTORE`)

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-11-03 17:40:01 +01:00
Silvin Lubecki 1d02eaf47d
Merge pull request #2822 from thaJeztah/bump_docker
vendor: github.com/docker/docker c2cc352355d4c26be60be8ea3a1acfddc20fdfd3
2020-11-03 14:03:32 +01:00
Silvin Lubecki d75d6de64a
Merge pull request #2823 from thaJeztah/bump_pty
vendor: github.com/creack/pty v1.1.11 (includes fixes for go 1.15)
2020-11-03 14:03:22 +01:00
Sebastiaan van Stijn 4b47aed2cc
vendor: github.com/creack/pty v1.1.11
full diff: https://github.com/creack/pty/compare/v1.1.9...v1.1.11

- v1.1.11: Add arm support for OpenBSD
- v1.1.10: Fix CTTY to work with go1.15

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-11-03 13:44:13 +01:00
Sebastiaan van Stijn ef0ac7f7e1
vendor: github.com/docker/docker c2cc352355d4c26be60be8ea3a1acfddc20fdfd3
full diff: 73dc6a680c...c2cc352355

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-11-02 15:43:30 +01:00
Silvin Lubecki 26721411b7
Merge pull request #2778 from thaJeztah/bump_sortorder
vendor: github.com/fvbommel/sortorder v1.0.2
2020-10-31 16:24:51 +01:00
Sebastiaan van Stijn 7ab12bf963
vendor: github.com/fvbommel/sortorder v1.0.2
no significant changes: enforces the new module name to be used

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-10-31 14:37:07 +01:00
Tibor Vass 1d20b15adc
Merge pull request #2818 from thaJeztah/prevent_panic
GetDefaultAuthConfig: fix potential panic due to unhandled error
2020-10-29 14:43:01 -07:00
Silvin Lubecki 5695d699ae
Merge pull request #2735 from thaJeztah/fix_flag_hiding
Fix buildkit flags not being hidden without buildkit enabled
2020-10-29 15:59:02 +01:00
Sebastiaan van Stijn f32731f902
GetDefaultAuthConfig: fix potential panic due to unhandled error
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-10-29 01:42:35 +01:00
Sebastiaan van Stijn a27e9f4ddd
Merge pull request #2814 from thaJeztah/old_engines
docs: remove some references to obsolete docker versions
2020-10-26 23:33:15 +01:00
Tibor Vass 5266e1653f
Merge pull request #2809 from thaJeztah/no_stream
Deprecation: change --stream error to a warning, and update deprecated.md
2020-10-26 11:57:14 -07:00
Sebastiaan van Stijn 6a02a51c99
docs: remove some references to obsolete docker versions
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-10-26 18:30:01 +01:00
Sebastiaan van Stijn a0cacb0887
Merge pull request #2811 from thaJeztah/parse_uint
opts: fix potential integer overflow CWE-190, CWE-681
2020-10-24 10:31:58 +02:00
Sebastiaan van Stijn 7150736688
Deprecation: add experimental docker build --stream option
Docker v17.07 introduced an experimental `--stream` flag on `docker build` which
allowed the build-context to be incrementally sent to the daemon, instead of
unconditionally sending the whole build-context.

This functionality has been reimplemented as part of BuildKit, which uses streaming
by default and the `--stream` option will be ignored when using the classic builder,
printing a deprecation warning instead.

Users that want to use this feature are encouraged to enable BuildKit by setting
the `DOCKER_BUILDKIT=1` environment variable or through the daemon or CLI configuration
files.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-10-24 01:58:54 +02:00
Sebastiaan van Stijn a40beedcc3
builder: print deprecation warning instead of failing for --stream
While performance will be worse, we can safely ignore the --stream
option when used, and print a deprecation warning instead of failing
the build.

With this patch:

    echo -e "FROM scratch\nLABEL foo=bar" | docker build --stream -
    DEPRECATED: The experimental --stream flag has been removed and the build context
                will be sent non-streaming. Enable BuildKit instead with DOCKER_BUILDKIT=1
                to stream build context, see https://docs.docker.com/go/buildkit/

    Sending build context to Docker daemon  2.048kB
    Step 1/2 : FROM scratch
     --->
    Step 2/2 : LABEL foo=bar
     ---> Running in 99e4021085b6
    Removing intermediate container 99e4021085b6
     ---> 1a7a41be241f
    Successfully built 1a7a41be241f

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-10-24 01:58:47 +02:00
Sebastiaan van Stijn 5cd19d1fec
opts: fix potential integer overflow CWE-190, CWE-681
Caught by CodeQL:

> Incorrect conversion of an integer with architecture-dependent bit size
> from strconv.ParseUint to a lower bit size type uint16 without an upper
> bound check.

fixes https://github.com/docker/cli/security/code-scanning/2

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-10-24 01:30:42 +02:00
Sebastiaan van Stijn 064148042d
Merge pull request #2808 from charlottemach/master
Replace deprecated instruction
2020-10-24 00:44:12 +02:00
Charlotte Mach aa4cb24739 Replace deprecated instruction
MAINTAINER is deprecated, replacing with LABEL as recommended by
https://docs.docker.com/engine/reference/builder/#maintainer-deprecated

Signed-off-by: Charlotte Mach <charlotte.mach@fs.lmu.de>
2020-10-23 19:49:51 +02:00
Tibor Vass 95fe476706
Merge pull request #2803 from thaJeztah/bump_engine
Update docker/docker and dependencies to current master
2020-10-22 12:43:39 -07:00
Tibor Vass ff10c7ab96
Merge pull request #2796 from thaJeztah/bump_vndr
Bump vndr v0.1.2
2020-10-22 12:41:23 -07:00
Tibor Vass 7fedb0e54f
Merge pull request #2775 from thaJeztah/notabs
Replace tab with spaces in usage output
2020-10-22 12:40:42 -07:00
Sebastiaan van Stijn d1b4b61328
Merge pull request #2799 from tonistiigi/plugin-sigterm
handle sigterm on running a plugin
2020-10-22 20:55:07 +02:00
Tonis Tiigi 857f5856f8 handle sigterm on running a plugin
While running a plugin and canceling with SIGTERM, main process will
close right away without letting the plugin close itself down and handle
the exit code properly. Add appcontext that is useful for handling
sigterm, as well as supporting sigkill when things go wrong.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-10-21 22:32:49 -07:00
Sebastiaan van Stijn b981f2454e
vendor: cloud.google.com/go v0.44.3
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-10-20 22:56:42 +02:00
Sebastiaan van Stijn f5670e1069
vendor: opencontainers/go-digest v1.0.0
full diff: https://github.com/opencontainers/go-digest/compare/v1.0.0-rc1...v1.0.0

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-10-20 22:48:55 +02:00
Sebastiaan van Stijn ceffcc527e
vendor: github.com/gofrs/flock v0.7.3
full diff: https://github.com/gofrs/flock/compare/v0.7.1...v0.7.3

Relevant changes:

- fix: close/Unlock won't close the file descriptor if not locked
- fix license text, update year

Note that there's also a v0.8.0 release; that release only adds aix support,
which is currently of no interest to us, so skipping that version for now.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-10-20 22:46:48 +02:00
Sebastiaan van Stijn 15c928eae1
vendor: docker/docker 73dc6a680cdd48f2f993f1a1b91aac1dd23d47c8
full diff: 7f7e4abb33...73dc6a680c

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2020-10-20 22:31:42 +02:00