Commit Graph
195 Commits
Author SHA1 Message Date
Erik St. Martin 5ef6f17a9d Implementing support for --cpu-rt-period and --cpu-rt-runtime so that
containers may specify these cgroup values at runtime. This will allow
processes to change their priority to real-time within the container
when CONFIG_RT_GROUP_SCHED is enabled in the kernel. See #22380.

Also added sanity checks for the new --cpu-rt-runtime and --cpu-rt-period
flags to ensure that that the kernel supports these features and that
runtime is not greater than period.

Daemon will support a --cpu-rt-runtime flag to initialize the parent
cgroup on startup, this prevents the administrator from alotting runtime
to docker after each restart.

There are additional checks that could be added but maybe too far? Check
parent cgroups to ensure values are <= parent, inspecting rtprio ulimit
and issuing a warning.

Signed-off-by: Erik St. Martin <alakriti@gmail.com>
Upstream-commit: 42ef78911e
Component: cli
2017-06-02 00:10:28 +00:00
Steve Durrheimer fec713dbd4 Add zsh completion for 'dockerd --experimental'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
Upstream-commit: 85fb527cbf
Component: cli
2017-06-02 00:10:28 +00:00
Steve Durrheimer e9ac4c1692 Add zsh completion for 'dockerd --shutdown-timeout'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
Upstream-commit: 350b1a3f38
Component: cli
2017-06-02 00:10:28 +00:00
Steve Durrheimer a13751fa90 Add zsh completion for 'docker {create,run} --stop-timeout'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
Upstream-commit: fa8f0cd060
Component: cli
2017-06-02 00:10:28 +00:00
Steve Durrheimer 4ccf8b5a72 Fix zsh completion for 'docker exec --env'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
Upstream-commit: add78ffc8a
Component: cli
2017-06-02 00:10:28 +00:00
Aaron Lehmann 1a07ed1f3c Add force option to service update
Currently, there's no way to restart the tasks of a service without
making an actual change to the service. This leads to us giving awkward
workarounds as in
https://github.com/docker/docker.github.io/pull/178/files, where we tell
people to scale a service up and down to restore balance, or make
unnecessary changes to trigger a restart.

This change adds a --force option to "docker service update", which
forces the service to be updated even if no changes require that.

Since rolling update parameters are respected, the user can use
"docker service --force" to do a rolling restart. For example, the
following is supported:

   docker service update --force --update-parallelism 2 \
   --update-delay 5s myservice

Since the default value of --update-parallelism is 1, the default
behavior is to restart the service one task at a time.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 78c0d50c9f
Component: cli
2017-06-02 00:10:27 +00:00
Jonh Wendell 6930ed3832 Exec: Add ability to set environment variables
Keeping the current behavior for exec, i.e., inheriting
variables from main process. New variables will be added
to current ones. If there's already a variable with that
name it will be overwritten.

Example of usage: docker exec -it -e TERM=vt100 <container> top

Closes #24355.

Signed-off-by: Jonh Wendell <jonh.wendell@redhat.com>
Upstream-commit: 73dd34b2b3
Component: cli
2017-06-02 00:10:25 +00:00
Vincent Bernat 8871de5591 zsh: fix completion when docker output only has the header line
Unfortunately, `(f)` aka `(ps:\n:)` flag will not create an array when
there is only one line. The subsequent use of indexes will then affect
the string. This leads to `docker rmi <tab>` to complete on the header
line instead of nothing.

Therefore, for each use of `(f)`, we ensure that we have an extra new
line to be sure we get an array.

Credit to @povesteam for the original report and fix in #27373.

Signed-off-by: Vincent Bernat <vincent@bernat.im>
Upstream-commit: 38d93769fe
Component: cli
2017-06-02 00:10:25 +00:00
Aaron Lehmann 8308c17bab Service update failure thresholds and rollback
This adds support for two enhancements to swarm service rolling updates:

- Failure thresholds: In Docker 1.12, a service update could be set up
  to either pause or continue after a single failure occurs. This adds
  an --update-max-failure-ratio flag that controls how many tasks need to
  fail to update for the update as a whole to be considered a failure. A
  counterpart flag, --update-monitor, controls how long to monitor each
  task for a failure after starting it during the update.

- Rollback flag: service update --rollback reverts the service to its
  previous version. If a service update encounters task failures, or
  fails to function properly for some other reason, the user can roll back
  the update.

SwarmKit also has the ability to roll back updates automatically after
hitting the failure thresholds, but we've decided not to expose this in
the Docker API/CLI for now, favoring a workflow where the decision to
roll back is always made by an admin. Depending on user feedback, we may
add a "rollback" option to --update-failure-action in the future.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 8c03c1201b
Component: cli
2017-06-02 00:10:25 +00:00
Carlos Alexandro Becker 089242961c Added logentries dependency to vendor
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
Upstream-commit: 83c7808f3a
Component: cli
2017-06-02 00:10:24 +00:00
Wenzhi Liang e6199fb2cf allow restarting stopped containers by id
Signed-off-by: Wenzhi Liang <wenzhi.liang@gmail.com>
Upstream-commit: 9ad418fe97
Component: cli
2017-06-02 00:10:13 +00:00
Steve Durrheimer 135616b0a5 Add zsh completion for 'dockerd --init-path'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
Upstream-commit: 9014b21a61
Component: cli
2017-06-02 00:10:12 +00:00
Paul Kehrer 1624d67c67 Add support for compressing build context during image build
When sending a build context to a remote server it may be
(significantly) advantageous to compress the build context. This commit
adds support for gz compression when constructing a build context
using a command like "docker build --compress ."

Signed-off-by: Paul Kehrer <paul.l.kehrer@gmail.com>
Upstream-commit: 9c85295b1c
Component: cli
2017-06-02 00:10:12 +00:00
Vincent Demeester 23796877c1 Add a new "is-task" ps filter
This makes it easier to list containers that are part of a task
(swarm mode) and those who are not.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: cd547751df
Component: cli
2017-06-02 00:10:12 +00:00
Steve Durrheimer f2dbfd6f6f Add zsh completion for 'docker stats --format'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
Upstream-commit: bed270a507
Component: cli
2017-06-02 00:10:11 +00:00
Steve Durrheimer 3c59f5a59d Add zsh completion for multi-nodes 'node ps'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
Upstream-commit: 365e71d868
Component: cli
2017-06-02 00:10:11 +00:00
allencloud 21031d11ed support docker node ps multiNodes
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: 47e0458ffb
Component: cli
2017-06-02 00:10:11 +00:00
Akihiro Suda c1233b3b66 fix the man page and zsh completion for docker images
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
Upstream-commit: a64a1aa0ae
Component: cli
2017-06-02 00:10:11 +00:00
Akihiro Suda c0006d5967 add docker events --format
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
Upstream-commit: 71e220fc11
Component: cli
2017-06-02 00:10:10 +00:00
Denis Gladkikh 2e3994446e Splunk Logging Driver performance improvements
New driver options:

- `splunk-gzip` - gzip compress all requests to Splunk HEC
(enabled by default)
- `splunk-gzip-level` - change compression level.

Messages are sent in batches by 1000, with frequency of 5 seconds.
Maximum buffer is 10,000 events. If HEC will not be available, Splunk
Logging Driver will keep retrying while it can hold messages in buffer.

Added unit tests for driver.

Signed-off-by: Denis Gladkikh <denis@gladkikh.email>
Upstream-commit: db4e32d39e
Component: cli
2017-06-02 00:10:10 +00:00
Steve Durrheimer e9c80957e0 Add zsh completion for 'service {create,update} --group-{add,rm}'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
Upstream-commit: 05f167e92a
Component: cli
2017-06-02 00:10:09 +00:00
Harald Albers f3b4d86d17 Add completion for docker events -f event=health_status
Signed-off-by: Harald Albers <github@albersweb.de>
Upstream-commit: 894c3a5cbf
Component: cli
2017-06-02 00:10:08 +00:00
allencloud 1bcd95be4c make node ps default to self in swarm node
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: 4d1fc99027
Component: cli
2017-06-02 00:10:07 +00:00
Steve Durrheimer 0c05df52fc Replace zsh completion for 'docker volume create --name' by 'docker volume create {name}'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
Upstream-commit: 1e95101ade
Component: cli
2017-06-02 00:10:07 +00:00
Denis Gladkikh 8610f5b17b Splunk Logging Driver: formats and verifyconnection
`--log-opt splunk-format=inline|json|raw` allows to change how logging
driver sends data to Splunk, where

`inline` - default value, format used before, message is injected as a
line in JSON payload
`json` - driver will try to parse each line as a JSON object and embed it
inside of the JSON payload
`raw` - driver will send Raw payload instead of JSON, tag and attributes
will be prefixed before the message

`--log-opt splunk-verify-connection=true|false` - allows to skip
verification for Splunk Url

Signed-off-by: Denis Gladkikh <denis@gladkikh.email>
Upstream-commit: 7225cc5604
Component: cli
2017-06-02 00:10:06 +00:00
Yong Tang a80d76377d Update zsh and bash completion scripts.
This is to update the zsh and bash completion script for
23367.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
Upstream-commit: cebe3440af
Component: cli
2017-06-02 00:10:06 +00:00
timfeirg 17575bfacc expose RemovalInProgress in StateString #25652
Signed-off-by: timfeirg <kkcocogogo@gmail.com>
Upstream-commit: 280a6f9663
Component: cli
2017-06-02 00:10:06 +00:00
Steve Durrheimer af4a044ed4 Add zsh completion for 'docker {network,volume} ls --format'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
Upstream-commit: ab24559a62
Component: cli
2017-06-02 00:10:05 +00:00
Steve Durrheimer 6fcdf10549 Add zsh completion for 'docker volume ls --filter label'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
Upstream-commit: 1ccb0210f5
Component: cli
2017-06-02 00:10:05 +00:00
Josh Horwitz eb6bdab31c Add --no-trunc to service/node/stack ps output
Signed-off-by: Josh Horwitz <horwitzja@gmail.com>
Upstream-commit: b5c313651f
Component: cli
2017-06-02 00:10:05 +00:00
Akihiro Suda 3bf668411b add --format flag to docker info
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
Upstream-commit: 420b6a91af
Component: cli
2017-06-02 00:10:05 +00:00
Steve Durrheimer 9afa83e8be Add zsh completion for 'docker node rm --force'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
Upstream-commit: 202d38d017
Component: cli
2017-06-02 00:10:04 +00:00
allencloud f04dc53753 update command description in CLI
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: 0ab07d2bd7
Component: cli
2017-06-02 00:10:03 +00:00
Steve Durrheimer a50e247f5a Add zsh completion for 'docker service {create,update} --container-label{-add,-rm}'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
Upstream-commit: f6aa2d75f0
Component: cli
2017-06-02 00:10:03 +00:00
Steve Durrheimer 84d3d32460 Remove zsh completion for 'docker swarm inspect'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
Upstream-commit: de93020c02
Component: cli
2017-06-02 00:10:03 +00:00
Stephen J Day 2278db9d39 cli: docker service|node|stack ps instead of tasks
Rather than conflict with the unexposed task model, change the names of
the object-oriented task display to `docker <object> ps`. The command
works identically to `docker service tasks`. This change is superficial.

This provides a more sensical docker experience while not trampling on
the task model that may be introduced as a top-level command at a later
date.

The following is an example of the display using `docker service ps`
with a service named `condescending_cori`:

```
$ docker service ps condescending_cori
ID                         NAME                  SERVICE             IMAGE   LAST STATE              DESIRED STATE  NODE
e2cd9vqb62qjk38lw65uoffd2  condescending_cori.1  condescending_cori  alpine  Running 13 minutes ago  Running        6c6d232a5d0e
```

The following shows the output for the node on which the command is
running:

```console
$ docker node ps self
ID                         NAME                  SERVICE             IMAGE   LAST STATE              DESIRED STATE  NODE
b1tpbi43k1ibevg2e94bmqo0s  mad_kalam.1           mad_kalam           apline  Accepted 2 seconds ago  Accepted       6c6d232a5d0e
e2cd9vqb62qjk38lw65uoffd2  condescending_cori.1  condescending_cori  alpine  Running 12 minutes ago  Running        6c6d232a5d0e
4x609m5o0qyn0kgpzvf0ad8x5  furious_davinci.1     furious_davinci     redis   Running 32 minutes ago  Running        6c6d232a5d0e
```

Signed-off-by: Stephen J Day <stephen.day@docker.com>
Upstream-commit: 9d114f0fae
Component: cli
2017-06-02 00:10:03 +00:00
Aaron Lehmann 4594082206 Add failure action for rolling updates
This changes the default behavior so that rolling updates will not
proceed once an updated task fails to start, or stops running during the
update. Users can use docker service inspect --pretty servicename to see
the update status, and if it pauses due to a failure, it will explain
that the update is paused, and show the task ID that caused it to pause.
It also shows the time since the update started.

A new --update-on-failure=(pause|continue) flag selects the
behavior. Pause means the update stops once a task fails, continue means
the old behavior of continuing the update anyway.

In the future this will be extended with additional behaviors like
automatic rollback, and flags controlling parameters like how many tasks
need to fail for the update to stop proceeding. This is a minimal
solution for 1.12.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: b41c3dd208
Component: cli
2017-06-02 00:10:02 +00:00
Steve Durrheimer 772dfd499f Add zsh completion for 'docker swarm join-token' command
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
Upstream-commit: fea5a343d5
Component: cli
2017-06-02 00:10:02 +00:00
Aaron Lehmann 609c7c0bcb Split advertised address from listen address
There are currently problems with "swarm init" and "swarm join" when an
explicit --listen-addr flag is not provided. swarmkit defaults to
finding the IP address associated with the default route, and in cloud
setups this is often the wrong choice.

Introduce a notion of "advertised address", with the client flag
--advertise-addr, and the daemon flag --swarm-default-advertise-addr to
provide a default. The default listening address is now 0.0.0.0, but a
valid advertised address must be detected or specified.

If no explicit advertised address is specified, error out if there is
more than one usable candidate IP address on the system. This requires a
user to explicitly choose instead of letting swarmkit make the wrong
choice. For the purposes of this autodetection, we ignore certain
interfaces that are unlikely to be relevant (currently docker*).

The user is also required to choose a listen address on swarm init if
they specify an explicit advertise address that is a hostname or an IP
address that's not local to the system. This is a requirement for
overlay networking.

Also support specifying interface names to --listen-addr,
--advertise-addr, and the daemon flag --swarm-default-advertise-addr.
This will fail if the interface has multiple IP addresses (unless it has
a single IPv4 address and a single IPv6 address - then we resolve the
tie in favor of IPv4).

This change also exposes the node's externally-reachable address in
docker info, as requested by #24017.

Make corresponding API and CLI docs changes.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: 18cd5ac352
Component: cli
2017-06-02 00:10:02 +00:00
Vincent Demeester a677374f33 Append --registry-auth with with
`--with-registry-auth` is more explicit.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 2f9e9bcbaa
Component: cli
2017-06-02 00:10:02 +00:00
Sebastiaan van Stijn de76192c9e remove "secrets" from completion scripts
Swarm join has been changed in f5e1f6f6880391a5a3399023cf93a3c48502e57d,
removing various options and the "node accept" command.

This removes the removed options from the completion
scripts.

NOTE: a new command ("docker swarm join-token") was
also added, but is not part of this commit.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 6eef41333d
Component: cli
2017-06-02 00:10:02 +00:00
Aaron Lehmann e128f0ccd5 Replace secrets with join tokens
Implement the proposal from
https://github.com/docker/docker/issues/24430#issuecomment-233100121

Removes acceptance policy and secret in favor of an automatically
generated join token that combines the secret, CA hash, and
manager/worker role into a single opaque string.

Adds a docker swarm join-token subcommand to inspect and rotate the
tokens.

Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: acf0bc4b9a
Component: cli
2017-06-02 00:10:02 +00:00
Harald Albers 0c50f823f7 Update completions for syslog log driver options
Signed-off-by: Harald Albers <github@albersweb.de>
Upstream-commit: 1f0b0b007c
Component: cli
2017-06-02 00:10:01 +00:00
Steve Durrheimer 09d64ed0cb Add zsh completion for 'docker node update --label-{add,rm}'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
Upstream-commit: f2e01edf57
Component: cli
2017-06-02 00:10:01 +00:00
Steve Durrheimer bbf1c30986 Add zsh completion for 'docker service {create,update} --log-{driver,opt}'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
Upstream-commit: ddd049d51a
Component: cli
2017-06-02 00:10:01 +00:00
Sebastiaan van Stijn c6248ce73e Improve flag help consistency, and update docs
This adds the `--live-restore` option to the documentation.

Also synched usage description in the documentation
with the actual description, and re-phrased some
flag descriptions to be a bit more consistent.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 77e4100d00
Component: cli
2017-06-02 00:07:51 +00:00
Vincent Demeester e7aaba73d9 Small zsh completion fix on --pretty & --no-resolve
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 1ca03e4fd9
Component: cli
2017-06-02 00:07:51 +00:00
Steve Durrheimer 1b3cd7e680 Update zsh completion for 'docker service {create,update} {--endpoint-mode,--mode}'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
Upstream-commit: fdfa9befed
Component: cli
2017-06-02 00:07:51 +00:00
Steve Durrheimer 2a4a489b0c Add zsh completion for 'dockerd --oom-score-adjust'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
Upstream-commit: 3ce44d633a
Component: cli
2017-06-02 00:07:51 +00:00
Steve Durrheimer 771c319a28 Add zsh completion for 'docker service {create,update} --registry-auth'
Signed-off-by: Steve Durrheimer <s.durrheimer@gmail.com>
Upstream-commit: 0a6f1be9ce
Component: cli
2017-06-02 00:07:51 +00:00