Commit Graph

288 Commits

Author SHA1 Message Date
Harald Albers adaa718195 Move bash completion logic to new subcommand: ps
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:27 +00:00
Harald Albers bd996a11a1 Move bash completion logic to new subcommand: logs
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:27 +00:00
Harald Albers 13fde2b8c5 Move bash completion logic to new subcommand: kill
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:26 +00:00
Harald Albers c2c341f42b Move bash completion logic to new subcommand: inspect
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:26 +00:00
Harald Albers 4db49a11a5 Move bash completion logic to new subcommand: diff
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:26 +00:00
Harald Albers f560199333 Move bash completion logic to new subcommand: exec
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:26 +00:00
Harald Albers eac71844f4 Move bash completion logic to new subcommand: diff
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:26 +00:00
Harald Albers 7db1e8272b Move bash completion logic to new subcommand: create
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:26 +00:00
Harald Albers 0ef51632ec Move bash completion logic to new subcommand: cp
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:26 +00:00
Harald Albers e2678f21d9 Move bash completion logic to new subcommand: commit
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:26 +00:00
Harald Albers d5cdbdc734 Move bash completion logic to new subcommand: attach
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:26 +00:00
Harald Albers f857f420aa Add bash completion for `docker container`
At this point, we just delegate to the existing completions.

Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:26 +00:00
Jonh Wendell 73dd34b2b3 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>
2017-06-02 00:10:25 +00:00
Harald Albers ba501cf4fd Improve comments in bash completion
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:25 +00:00
Harald Albers a511da3c57 Add bash completion for `dockerd --shutdown-timeout`
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:25 +00:00
Harald Albers 34630120b3 Align bash completion of plugins to completion of nodes and services
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:25 +00:00
Aaron Lehmann 8c03c1201b 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>
2017-06-02 00:10:25 +00:00
Harald Albers 3ba4b59233 Add bash completion for `docker {run,create} --stop-timeout`
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:25 +00:00
Harald Albers 9ef7847f74 Improve bash completion of containers
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:25 +00:00
Harald Albers f1c1bbcbea Align bash completion of networks to completion of nodes and services
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:25 +00:00
Harald Albers 77a6840256 Align bash completion of volumes to completion of nodes and services
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:25 +00:00
Carlos Alexandro Becker 83c7808f3a Added logentries dependency to vendor
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
2017-06-02 00:10:24 +00:00
Paul Kehrer 9c85295b1c 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>
2017-06-02 00:10:12 +00:00
Harald Albers 62e87d4996 Add support for multiple nodes in bash completion for `docker node ps`
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:12 +00:00
Harald Albers 3171c7b6e7 Add bash completion for `dockerd --init-path`
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:12 +00:00
Vincent Demeester cd547751df 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>
2017-06-02 00:10:12 +00:00
Harald Albers ee85efb76d Fix bash completion for `docker logs --since`
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:12 +00:00
Harald Albers 8121d5a885 Add bash completion for `docker stats --format`
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:11 +00:00
Akihiro Suda 71e220fc11 add `docker events --format`
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-06-02 00:10:10 +00:00
Denis Gladkikh db4e32d39e 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>
2017-06-02 00:10:10 +00:00
Harald Albers a45c6fc8bd Add bash completion for `service {create,update} --group-{add,rm}`
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:09 +00:00
Harald Albers 894c3a5cbf Add completion for `docker events -f event=health_status`
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:08 +00:00
Harald Albers a916015f46 Remove bash completion for `docker volume create --name`
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:07 +00:00
Denis Gladkikh 7225cc5604 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>
2017-06-02 00:10:06 +00:00
Yong Tang cebe3440af 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>
2017-06-02 00:10:06 +00:00
timfeirg 280a6f9663 expose RemovalInProgress in StateString #25652
Signed-off-by: timfeirg <kkcocogogo@gmail.com>
2017-06-02 00:10:06 +00:00
Josh Horwitz b5c313651f Add --no-trunc to service/node/stack ps output
Signed-off-by: Josh Horwitz <horwitzja@gmail.com>
2017-06-02 00:10:05 +00:00
Harald Albers 9b4b730adb Add bash completion for `docker {network,volume} ls --format`
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:05 +00:00
Harald Albers 1cddc8ee68 Add bash completion for `docker volume ls --filter label`
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:05 +00:00
Akihiro Suda 420b6a91af add `--format` flag to `docker info`
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-06-02 00:10:05 +00:00
Harald Albers 52dd4d9c5e Fix bash completion for `docker service {create,update} {-e,--env}`
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:04 +00:00
Harald Albers 6c4812f606 Improve bash completion for `docker swarm {init,join} --{advertise,listen}-addr}`
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:04 +00:00
Harald Albers 8f0986f04b Fix bash completion for `docker swarm join --advertise-addr`
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:04 +00:00
Harald Albers 5b559678c3 Add `self` to bash completion of `docker node inspect`
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:04 +00:00
Harald Albers d01b14ad80 Add bash completion for `docker node rm --force`
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:03 +00:00
Stephen J Day 9d114f0fae 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>
2017-06-02 00:10:03 +00:00
Harald Albers bd66024f73 Remove bash completion for `docker swarm inspect`
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:03 +00:00
Harald Albers 6ff1bec0ba bash completion for container labels to `service {create,update}`
Signed-off-by: Harald Albers <github@albersweb.de>
2017-06-02 00:10:03 +00:00
Aaron Lehmann b41c3dd208 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>
2017-06-02 00:10:02 +00:00
Aaron Lehmann 18cd5ac352 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>
2017-06-02 00:10:02 +00:00