Commit Graph
1153 Commits
Author SHA1 Message Date
Tianon Gravi b7dbd9db5d Fix "command.PromptForConfirmation" to accept "enter" for the "N" default
This adjusts `command.PromptForConfirmation` in `cli/command/utils.go` to use `bufio`'s `ReadLine` rather than using `fmt.Fscan` for reading input, which makes `<Enter>` properly accept the default value of "No" as one would expect.

This new code actually came from `cli/command/plugin/install.go`'s `acceptPrivileges` function, which I've also refactored here to use `command.PromptForConfirmation` as it should.

Additionally, this updates `cli/command/plugin/upgrade.go`'s `runUpgrade` function to use `command.PromptForConfirmation` for further consistency.

Signed-off-by: Andrew "Tianon" Page <admwiggin@gmail.com>
Upstream-commit: 21c0b6c0e6
Component: cli
2017-02-06 09:13:07 -08:00
Yong Tang 3a4832fb11 Fix Windows docker stats showing Linux headers
This fix is an attempt to fix issue raised in #28005 where
`docker stats` on Windows shows Linux headers if there is
no containers in stats.

The reason for the issue is that, in case there is no container,
a header is faked in:
https://github.com/docker/docker/blob/v1.13.0/cli/command/formatter/formatter.go#L74-L78
which does not know OS type information (as OS was stored with container stat entries)

This fix tries to fix the issue by moving OS type information
to stats context (instead of individual container stats entry).

Additional unit tests have been added.

This fix fixes #28005.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: af80020ef2
Component: cli
2017-02-05 08:55:30 -08:00
Yong Tang 857a9c8722 Add compose support of attachable in networks
This fix tries to address the issue raised in 29975 where
it was not possible to specify `attachable` flag for networks
in compose format.

NOTE: Compose format aleady supports `labels` in networks.

This fix adds the support of `attachable` for compose v3.1 format.

Additiona unit tests have been updated and added.

This fix fixes 29975.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: 1a677699ae
Component: cli
2017-02-04 14:16:06 -08:00
Vincent Demeester f2121255f8 Merge pull request #30187 from thaJeztah/show-error-on-unsupported-flags
print error if unsupported flags are used
Upstream-commit: bc452bbf95
Component: cli
2017-02-04 22:43:51 +01:00
Sebastiaan van Stijn d73850cfbf Merge pull request #28751 from ijc25/wrap-help-output
Wrap CLI --help output to terminal width
Upstream-commit: bba31c3f04
Component: cli
2017-02-03 23:04:11 -08:00
Sebastiaan van Stijn 1855724a2a print error if unsupported flags are used
Docker 1.13 and up allows a client to communicate
with older daemons. As a result, flags may be
present that are not supported by the older daemon.

The client already _hides_ flags that are not
supported yet, but this doesn't present users
from using those flags.

This change shows an error if a flag is used
that is not supported by the daemon (either
based on the API version, or because experimental
features are not enabled).

Note that for some options, a check is already
in place in the API client. For those
options, this is just a minor enhancement
to more clearly indicate which _flag_ is
not supported.

Before this change;

    DOCKER_API_VERSION=1.24 docker run -d --stop-timeout=30 busybox top
    mjfyt3qpvnq0iwmun3sjwth9i

    echo -e "FROM busybox\nRUN echo foo > bar" |  DOCKER_API_VERSION=1.24 docker build --squash -
    "squash" requires API version 1.25, but the Docker server is version 1.24

After this change;

    DOCKER_API_VERSION=1.24 docker run -d --stop-timeout=30 busybox top
    "--stop-timeout" requires API version 1.25, but the Docker daemon is version 1.24

    echo -e "FROM busybox\nRUN echo foo > bar" | DOCKER_API_VERSION=1.24 docker build --squash -
    "--squash" requires API version 1.25, but the Docker daemon is version 1.24

    echo -e "FROM busybox\nRUN echo foo > bar" | docker build --squash -
    "--squash" is only supported on a Docker daemon with experimental features enabled

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 0c71f36027
Component: cli
2017-02-03 16:59:20 -08:00
Sebastiaan van Stijn b140741526 print error if unsupported flags are used
Docker 1.13 and up allows a client to communicate
with older daemons. As a result, flags may be
present that are not supported by the older daemon.

The client already _hides_ flags that are not
supported yet, but this doesn't present users
from using those flags.

This change shows an error if a flag is used
that is not supported by the daemon (either
based on the API version, or because experimental
features are not enabled).

Note that for some options, a check is already
in place in the API client. For those
options, this is just a minor enhancement
to more clearly indicate which _flag_ is
not supported.

Before this change;

    DOCKER_API_VERSION=1.24 docker run -d --stop-timeout=30 busybox top
    mjfyt3qpvnq0iwmun3sjwth9i

    echo -e "FROM busybox\nRUN echo foo > bar" |  DOCKER_API_VERSION=1.24 docker build --squash -
    "squash" requires API version 1.25, but the Docker server is version 1.24

After this change;

    DOCKER_API_VERSION=1.24 docker run -d --stop-timeout=30 busybox top
    "--stop-timeout" requires API version 1.25, but the Docker daemon is version 1.24

    echo -e "FROM busybox\nRUN echo foo > bar" | DOCKER_API_VERSION=1.24 docker build --squash -
    "--squash" requires API version 1.25, but the Docker daemon is version 1.24

    echo -e "FROM busybox\nRUN echo foo > bar" | docker build --squash -
    "--squash" is only supported on a Docker daemon with experimental features enabled

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 0ae3a20be6
Component: cli
2017-02-03 16:59:20 -08:00
Anusha Ragunathan e642d5b024 Merge pull request #29414 from cpuguy83/plugin_upgrade
Add docker plugin upgrade
Upstream-commit: 31c487d86f
Component: cli
2017-02-03 15:27:48 -08:00
Brian Goff 1ecc83f981 Add docker plugin upgrade
This allows a plugin to be upgraded without requiring to
uninstall/reinstall a plugin.
Since plugin resources (e.g. volumes) are tied to a plugin ID, this is
important to ensure resources aren't lost.

The plugin must be disabled while upgrading (errors out if enabled).
This does not add any convenience flags for automatically
disabling/re-enabling the plugin during before/after upgrade.

Since an upgrade may change requested permissions, the user is required
to accept permissions just like `docker plugin install`.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: d98ab3d3ab
Component: cli
2017-02-03 16:21:12 -05:00
Brian Goff b725dc869d Add docker plugin upgrade
This allows a plugin to be upgraded without requiring to
uninstall/reinstall a plugin.
Since plugin resources (e.g. volumes) are tied to a plugin ID, this is
important to ensure resources aren't lost.

The plugin must be disabled while upgrading (errors out if enabled).
This does not add any convenience flags for automatically
disabling/re-enabling the plugin during before/after upgrade.

Since an upgrade may change requested permissions, the user is required
to accept permissions just like `docker plugin install`.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: e301053ff5
Component: cli
2017-02-03 16:21:12 -05:00
allencloud 34cc546fd5 update incorrect comments of CheckpointList
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: 9d18236794
Component: cli
2017-02-04 00:41:35 +08:00
Ian Campbell 7b7e8e4da1 Wrap output of docker cli --help
This should go some way to unblocking a solution to #18797, #18385 etc by
removing the current rather restrictive constraints on help text length.

Signed-off-by: Ian Campbell <ian.campbell@docker.com>
Upstream-commit: 2469463a22
Component: cli
2017-02-03 11:05:49 +00:00
Sebastiaan van Stijn 4f11f6fb59 Merge pull request #30180 from allencloud/add-endpoint-mode-a-default-value
add endpoint mode a default value
Upstream-commit: 9f3d30afe3
Component: cli
2017-02-02 11:51:44 -08:00
Vincent Demeester 1c35c6a82f Merge pull request #28199 from yongtang/11062016-service-ls-format
Add `--format` to `docker service ls`
Upstream-commit: 16c1a50ddf
Component: cli
2017-02-02 10:40:04 +01:00
Brian Goff 4f8232c350 Merge pull request #30203 from allencloud/validate-healthcheck-params-in-daemon-side
validate healthcheck params in daemon side
Upstream-commit: 1ce67df34e
Component: cli
2017-02-01 21:19:30 -05:00
Krasi Georgiev a5f3b7bb71 more descriptive error fo checkpoint ls for non existent containers
Signed-off-by: Krasi Georgiev <krasi@vip-consult.solutions>
Upstream-commit: ba79205e30
Component: cli
2017-02-02 00:42:29 +02:00
Vincent Demeester 0fe55a8f05 Merge pull request #29747 from xlgao-zju/break-the-for
exit collect when we get EOF
Upstream-commit: 2454afb121
Component: cli
2017-02-01 22:29:18 +01:00
Yong Tang c340c8f767 Add --format to docker service ls
This fix tries to improve the display of `docker service ls`
and adds `--format` flag to `docker service ls`.

In addition to `--format` flag, several other improvement:
1. Updates `docker stacks service`.
2. Adds `servicesFormat` to config file.

Related docs has been updated.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: 31fb756bb6
Component: cli
2017-02-01 08:33:19 -08:00
Vincent Demeester 8d883b5e67 Merge pull request #29692 from yongtang/29492-daemon-shm-size
Add daemon option `--default-shm-size`
Upstream-commit: cb8723543e
Component: cli
2017-02-01 16:56:10 +01:00
Vincent Demeester 0b2383479d Merge pull request #28627 from yongtang/28624-docker-plugin-ls
Add `--filter enabled=true` for `docker plugin ls`
Upstream-commit: c086c9f89c
Component: cli
2017-02-01 16:52:00 +01:00
Vincent Demeester 042d091899 Merge pull request #28627 from yongtang/28624-docker-plugin-ls
Add `--filter enabled=true` for `docker plugin ls`
Upstream-commit: 8efe4cea80
Component: cli
2017-02-01 16:52:00 +01:00
Vincent Demeester b090b514cd Merge pull request #22563 from mlaventure/cgroup-devices
Allow adding rules to cgroup devices.allow on container create/run
Upstream-commit: 77467608bd
Component: cli
2017-02-01 16:29:34 +01:00
Phil Estes d08c0b0b1c Merge pull request #30506 from vdemeester/29732-follow-up-compose-indempotent
Make docker stack deploy a little bit more indempotent
Upstream-commit: 7b5071b028
Component: cli
2017-01-31 13:35:04 -08:00
Alexander Morozov 7812d9088a Merge pull request #30162 from yongtang/29972-service-read-only
Add `--read-only` for `service create` and `service update`
Upstream-commit: 7ed541d8bd
Component: cli
2017-01-31 13:20:00 -08:00
Alexander Morozov 8f6cebdec9 Merge pull request #30411 from thaJeztah/fix-build-from-local-github-directories
do not ignore local build-contexts starting with "github.com"
Upstream-commit: 543c88bb33
Component: cli
2017-01-31 12:45:11 -08:00
Alexander Morozov c312097e9d Merge pull request #30521 from dnephin/cleanup-compose-loader
`cli/compose` cleanup - remove the old loading system
Upstream-commit: 94958362a1
Component: cli
2017-01-30 13:55:23 -08:00
Yong Tang 9bdd0ca52f Add --read-only for service create and service update
This fix tries to address the issue raised in 29972 where
it was not possible to specify `--read-only` for `docker service create`
and `docker service update`, in order to have the container's root file
system to be read only.

This fix adds `--read-only` and update the `ReadonlyRootfs` in `HostConfig`
through `service create` and `service update`.

Related docs has been updated.

Integration test has been added.

This fix fixes 29972.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: b849aa6b95
Component: cli
2017-01-30 12:47:26 -08:00
Alexander Morozov 41c8dfca13 Merge pull request #30186 from thaJeztah/add-version-annotation-to-flags
Add version annotation to various flags added in 1.13
Upstream-commit: 2e02d615c4
Component: cli
2017-01-30 12:33:36 -08:00
allencloud 2874513efc validate healthcheck params in daemon side
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: 406c6348b6
Component: cli
2017-01-29 13:35:32 +08:00
allencloud c3e631a485 remove cli/command/secrets/utils.go
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: ca1e5ffeea
Component: cli
2017-01-29 13:32:49 +08:00
allencloud 43d29b1590 add endpoint mode a default value
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: 67db25f42e
Component: cli
2017-01-28 20:46:34 +08:00
Daniel Nephin d1dc107dc1 Remove the old loading system from compose config loading
The original Compose config loading used the `compose` tag, which
was replaced by mapstructure. Some fields were left on the old tag. This
commit removes the old tag and uses types and mapstructure.

Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 1eefdba226
Component: cli
2017-01-27 17:03:41 -05:00
Alexander Morozov 60b21e3b0e Merge pull request #29218 from yongtang/28884-secret-inspect-follow-up
Move secret name or ID prefix resolving from client to daemon
Upstream-commit: 53edcd37a2
Component: cli
2017-01-27 13:31:04 -08:00
Yong Tang 6300064c81 Update opts.MemBytes to disable default, and move docker run/create/build to use opts.MemBytes
This fix made several updates:
1. Update opts.MemBytes so that default value will not show up.
   The reason is that in case a default value is decided by daemon,
   instead of client, we actually want to not show default value.
2. Move `docker run/create/build` to use opts.MemBytes for `--shm-size`
   This is to bring consistency between daemon and docker run
3. docs updates.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: f75ecc5ad2
Component: cli
2017-01-27 12:17:06 -08:00
Yong Tang e94be9a069 Add daemon option --default-shm-size
This fix fixes issue raised in 29492 where it was not
possible to specify a default `--default-shm-size` in daemon
configuration for each `docker run``.

The flag `--default-shm-size` which is reloadable, has been
added to the daemon configuation.
Related docs has been updated.

This fix fixes 29492.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: ab794c5579
Component: cli
2017-01-27 12:17:06 -08:00
Yong Tang 25a9f2a83b Move secret name or ID prefix resolving from client to daemon
This fix is a follow up for comment:
https://github.com/docker/docker/pull/28896#issuecomment-265392703

Currently secret name or ID prefix resolving is done at the client
side, which means different behavior of API and CMD.

This fix moves the resolving from client to daemon, with exactly the
same rule:
- Full ID
- Full Name
- Partial ID (prefix)

All existing tests should pass.

This fix is related to #288896, #28884 and may be related to #29125.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: 383ed6f121
Component: cli
2017-01-27 10:40:05 -08:00
Yong Tang e34b24e143 Add capability filter to docker plugin ls
This fix adds `--filter capability=[volumedriver|authz]` to `docker plugin ls`.

The related docs has been updated.

An integration test has been added.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: e38bc0d03e
Component: cli
2017-01-27 07:32:22 -08:00
Harald Albers c62b9c86df Add [OPTIONS] to usage of plugin disable|push
Signed-off-by: Harald Albers <github@albersweb.de>
Upstream-commit: 0e9401f84b
Component: cli
2017-01-27 16:17:02 +01:00
Vincent Demeester 30585d157d Make docker stack deploy a little bit more indempotent
Sort some slice fields before sending them to the swarm api so that it
won't trigger an update.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 3df952523c
Component: cli
2017-01-27 16:09:02 +01:00
Victor Vieux bc6638815e Merge pull request #30144 from dnephin/add-secrets-to-stack-deploy
Add secrets to stack deploy
Upstream-commit: 477652e2b5
Component: cli
2017-01-26 14:54:04 -08:00
Yong Tang d883a70a2c Add --filter enabled=true for docker plugin ls
This fix adds `--filter enabled=true` to `docker plugin ls`,
as was specified in 28624.

The related API and docs has been updated.

An integration test has been added.

This fix fixes 28624.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: 2a949b5574
Component: cli
2017-01-26 13:16:11 -08:00
Yong Tang e8abd684ad Add --filter enabled=true for docker plugin ls
This fix adds `--filter enabled=true` to `docker plugin ls`,
as was specified in 28624.

The related API and docs has been updated.

An integration test has been added.

This fix fixes 28624.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: 9a06063fea
Component: cli
2017-01-26 13:16:11 -08:00
Daniel Nephin 57501b17a7 Fix ImageDelete type
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 2d7a37e91c
Component: cli
2017-01-26 14:07:44 -05:00
Alexander Morozov 3fa334d048 Merge pull request #28409 from dnephin/swagger-gen-more
Generate more types from the swagger spec
Upstream-commit: 540ba12eb4
Component: cli
2017-01-26 10:35:34 -08:00
Daniel Nephin b4ed9a1ae0 Set default values for uid and gid to prevent errors when starting a service.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 485a2b2b2f
Component: cli
2017-01-26 12:00:46 -05:00
Daniel Nephin 0e5b51f734 Add integration test for stack deploy with secrets.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 26816a911a
Component: cli
2017-01-26 11:33:15 -05:00
Daniel Nephin ef211db9b6 Rebase Compose v3.1 schema on the latest v3 schema.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: b0eabe7718
Component: cli
2017-01-26 11:33:15 -05:00
Daniel Nephin 65bef339c1 Remove secrets as part of stack remove.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 40bde3ee00
Component: cli
2017-01-26 11:33:15 -05:00
Daniel Nephin c63bb4b9c1 Test and fix external secrets in stack deploy.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 682d75fa3f
Component: cli
2017-01-26 11:33:15 -05:00
Daniel Nephin a568e7cd60 Add integration test for stack deploy with secrets.
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Upstream-commit: 4a1c23bc26
Component: cli
2017-01-26 11:33:15 -05:00