Commit Graph

25111 Commits

Author SHA1 Message Date
John Howard b18ae8c9cc Builder default shell
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-06-03 13:54:31 -07:00
Sebastiaan van Stijn 2d40e36af8 Merge pull request #23234 from yongtang/23221-utf8-bom
Skip UTF-8 BOM bytes from Dockerfile and .dockerignore if exist
2016-06-03 22:28:48 +02:00
John Howard d75aaa2ca0 Windows: Turn off TestBuildDockerignoreComment
Signed-off-by: John Howard <jhoward@microsoft.com>
2016-06-03 13:23:35 -07:00
Paulo Ribeiro 55cdb6dcd0
Add a check for size field in custom format string
This fix addresses an issue where including the `{{.Size}}` format
field in conjunction with `docker ps --format`, without the `--size`
flag, would not correctly display the size of containers.

This is done by doing a check on the custom format string, and setting
the size flag on the options struct if the field is found. This struct
gets passed to the engine API which then generates the correct query.

An integration test is included which runs `docker ps --format "table
{{.Size}}"` without `--size`, and checks that the returned output is
not `0 B`.

Fixes #21991

As suggested by @cpuguy83, a parser is implemented to process the format
string as a template, and then traverses the template tree to determine
if `.Size` was called.

This was then reworked by making use of template execution with a
pre-processor struct that will set the `--size` option if the template
calls for the field.

The pre-processor now also sets a boolean in the context passed to the
writer. There is an integration test for this that calls `docker ps
--size --format "{{.Size}}"` and then checks that `size: {{.Size}}` is
not appended, as it would with previous behavior.

Finally, a change was made to the formatter to not automatically
add a `{{.Size}}` if a custom format is provided.

Signed-off-by: Paulo Ribeiro <paigr.io@gmail.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-03 21:59:10 +02:00
Vincent Demeester a11ef10631
Use spf13/cobra for docker search
- Move image command search to `api/client/image/search.go`
- Use cobra :)

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-03 19:50:01 +02:00
Vincent Demeester 428328908d
Deprecate /containers/(id or name)/copy endpoint
This endpoint has been deprecated since 1.8. Return an error starting
from this API version (1.24) in order to make sure it's not used for the
next API version and so that we can remove it some times later.

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
2016-06-03 19:38:03 +02:00
Alexander Morozov c80a2f2937 Merge pull request #22898 from WeiZhang555/add-detach-event
Add detach event
2016-06-03 09:49:48 -07:00
Vincent Demeester 5429f4ef61 Merge pull request #23239 from albers/completion-run-healthcheck
bash completion for `docker run` healthcheck options
2016-06-03 18:17:15 +02:00
Brian Goff b0a949e3c9 Merge pull request #23238 from albers/completion-search--limit
bash completion for `docker search --limit`
2016-06-03 12:13:27 -04:00
Harald Albers f738e6a732 bash completion for `docker run` healthcheck options
Signed-off-by: Harald Albers <github@albersweb.de>
2016-06-03 17:04:04 +02:00
Harald Albers 4b5ccd7342 bash completion for `docker search --limit`
Signed-off-by: Harald Albers <github@albersweb.de>
2016-06-03 16:32:37 +02:00
Yong Tang ea86320fcc Skip UTF-8 BOM bytes from Dockerignore if exist
This fix tries to address issues related to #23221 where Dockerignore
may consists of UTF-8 BOM. This likely happens when Notepad
tries to save a file as UTF-8 in Windows.

This fix skips the UTF-8 BOM bytes from the beginning of the
Dockerignore if exists.

Additional tests has been added to cover the changes in this fix.

This fix is related to #23221 (UTF-8 BOM in Dockerfile).

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-03 07:26:36 -07:00
Christy Perez 431e7b6573 trusted push test: Use a nonexistant hostname
Before, the TCP handshake had to time out (approx 30s) before
this test completed. If you use a hostname that doesn't resolve,
then it fails faster.

Signed-off-by: Christy Perez <christy@linux.vnet.ibm.com>
2016-06-03 08:41:58 -05:00
Antonio Murdaca a596d3d1cf man: mv config-json.5 to docker-config-json.5
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-06-03 15:28:19 +02:00
Antonio Murdaca 1514b499f0 docker-engine.spec: install man8
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
2016-06-03 15:27:24 +02:00
Yong Tang 678c80f925 Skip UTF-8 BOM bytes from Dockerfile if exists
This fix tries to address issues in #23221 where Dockerfile
may consists of UTF-8 BOM. This likely happens when Notepad
tries to save a file as UTF-8 in Windows.

This fix skips the UTF-8 BOM bytes from the beginning of the
Dockerfile if exists.

Additional tests has been added to cover the changes in this
fix.

This fix fixes #23221.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-03 06:16:50 -07:00
Vincent Demeester 147c8b7495 Merge pull request #23222 from yongtang/06022016-add-missing-links-in-deprecated-docs
Add missing links in deprecated.md
2016-06-03 15:16:11 +02:00
Sebastiaan van Stijn 726ef47d5c Merge pull request #23215 from BlackYoup/pkg-config
make.sh: use PKG_CONFIG environment variable if it exists
2016-06-03 15:04:37 +02:00
Sebastiaan van Stijn 020a86b3d9 Merge pull request #23107 from yongtang/23055-docker-search-limit
Add `--limit` option to `docker search`
2016-06-03 14:25:42 +02:00
Vincent Demeester 9c1278b279 Merge pull request #23111 from yongtang/20083-dockerignore-comment
Add support for comments in .dockerignore
2016-06-03 14:23:09 +02:00
Sebastiaan van Stijn f1755b2560 Merge pull request #23227 from yongtang/06032016-engine-api
Vendor engine-api to 5d8739372315f8147ceb7bcc53576893ff96ffc6
2016-06-03 14:15:31 +02:00
Sebastiaan van Stijn 613286859f Merge pull request #23230 from thaJeztah/carry_make_install_binary
[carry 22927] Add `make install` task
2016-06-03 13:53:42 +02:00
Sebastiaan van Stijn 50e470fab4
Healthcheck: set default retries to 3
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-03 13:28:08 +02:00
Sebastiaan van Stijn 766550385d Merge pull request #22715 from allencloud/add-trace-http-pprof
add trace in docker engine's pprof to show execution trace in binary form
2016-06-03 13:22:13 +02:00
Vincent Demeester d349f45dcc Merge pull request #23231 from thaJeztah/minor-mailmap-update
Fix double entry in authors
2016-06-03 12:44:05 +02:00
Sebastiaan van Stijn 0829581d7e
Fix double entry in authors
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-03 12:40:36 +02:00
Brian Goff 9bb54f89ad
Add `make install` task
This installs docker and dockerd to `$DOCKER_MAKE_INSTALL_PREFIX/bin`, which
defaults to `/usr/local/bin`

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-03 12:08:33 +02:00
Yong Tang 10c35196b1 Vendor engine-api to 5d8739372315f8147ceb7bcc53576893ff96ffc6
This fix tries to update engine-api to 5d8739372315f8147ceb7bcc53576893ff96ffc6

This fix brings engine-api up to date, which includes changes from:
https://github.com/docker/engine-api/pull/256
https://github.com/docker/engine-api/pull/254

This fix is related to

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-03 02:27:17 -07:00
Sebastiaan van Stijn a11d40af9b Merge pull request #23173 from thaJeztah/update-authors
Update mailmap and re-generate Authors
2016-06-03 10:20:33 +02:00
Arnaud Porterie b16f735e90 Merge pull request #23220 from icecrime/bump_etcd_2.3.2
Bump etcd to 2.3.2
2016-06-02 22:04:35 -07:00
Kenfe-Mickael Laventure acd67e25a9 Do not overwrite already published deb files when releasing
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2016-06-02 21:01:57 -07:00
Zhang Wei 83ad006d47 Add detach event
If we attach to a running container and stream is closed afterwards, we
can never be sure if the container is stopped or detached. Adding a new
type of `detach` event can explicitly notify client that container is
detached, so client will know that there's no need to wait for its exit
code and it can move forward to next step now.

Signed-off-by: Zhang Wei <zhangwei555@huawei.com>
2016-06-03 11:59:11 +08:00
Yong Tang 7bc9e0aebb Add missing links in deprecated.md doc.
This fix tries to address several issues in deprecated.md:
1. For deprecated and removal versions, some include link reference
to the release tag but some does not point to the release tag. This
fix adds the missing links as long as the version is <= 1.12.
2. Technically, 1.12 is not released yet so the link to 1.12 does
not exist yet. However, at the time 1.12 is released this
deprecated.md doc should have been part of the release as well.
There is a circular dependency. This fix adds 1.12 for now.
3. `HostConfig at API container start` has already been removed
by #22570 so this fix changes `Target For Removal In Release: v1.12`
to `Removed In Release: v1.12`.
4. `Docker search 'automated' and 'stars' options` has not been removed
yet so this fix changes `Removed In Release: v1.14` to
`Target For Removal In Release: v1.14`

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-02 19:54:35 -07:00
Yong Tang 92f10fe228 Add `--limit` option to `docker search`
This fix tries to address the issue raised in #23055.
Currently `docker search` result caps at 25 and there is
no way to allow getting more results (if exist).

This fix adds the flag `--limit` so that it is possible
to return more results from the `docker search`.

Related documentation has been updated.

Additional tests have been added to cover the changes.

This fix fixes #23055.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-02 19:12:20 -07:00
Yong Tang 8913dace34 Add support for comment in .dockerignore
This fix tries to address the issue raised in #20083 where
comment is not supported in `.dockerignore`.

This fix updated the processing of `.dockerignore` so that any
lines starting with `#` are ignored, which is similiar to the
behavior of `.gitignore`.

Related documentation has been updated.

Additional tests have been added to cover the changes.

This fix fixes #20083.

Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2016-06-02 19:06:52 -07:00
Sven Dowideit 98c245c9e6 Merge pull request #23193 from allencloud/fix-typos
use grep to find all a/an typos
2016-06-02 18:45:08 -07:00
Arnaud Porterie f02ffd9e19 Bump etcd to 2.3.2
Bump etcd to 2.3.2 and `github.com/ugorji/go` accordingly.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
2016-06-02 18:35:45 -07:00
Sven Dowideit e2528712db Merge pull request #23192 from orsenthil/docfixes/ubuntu_install
Fix the docker daemon restart command for ubuntu.
2016-06-02 18:05:49 -07:00
Sven Dowideit 9be8f04950 Merge pull request #22763 from zreigz/doc-multiple-daemons
Add documentation for running multiple daemons
2016-06-02 18:01:02 -07:00
Brian Goff 850031c581 Merge pull request #23026 from rhatdan/mkdir
Need to create bind mount volume if it does not exist.
2016-06-02 20:45:33 -04:00
Brian Goff 94b2d3554c Merge pull request #23136 from nalind/logscmd_read_journald_attrs
Add support for reading journal extras details, and setting timestamps to UTC
2016-06-02 20:42:24 -04:00
Michael Crosby ce255f76c7 Add User defined Healthchecks for Containers
Carry of #22719
2016-06-02 16:58:34 -07:00
Sebastiaan van Stijn 76d8b0dab7
Bump engine-api to fa04f66c7871183dd53a5ec666479f49b452743d
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-03 00:14:55 +02:00
Thomas Leonard b6c7becbfe
Add support for user-defined healthchecks
This PR adds support for user-defined health-check probes for Docker
containers. It adds a `HEALTHCHECK` instruction to the Dockerfile syntax plus
some corresponding "docker run" options. It can be used with a restart policy
to automatically restart a container if the check fails.

The `HEALTHCHECK` instruction has two forms:

* `HEALTHCHECK [OPTIONS] CMD command` (check container health by running a command inside the container)
* `HEALTHCHECK NONE` (disable any healthcheck inherited from the base image)

The `HEALTHCHECK` instruction tells Docker how to test a container to check that
it is still working. This can detect cases such as a web server that is stuck in
an infinite loop and unable to handle new connections, even though the server
process is still running.

When a container has a healthcheck specified, it has a _health status_ in
addition to its normal status. This status is initially `starting`. Whenever a
health check passes, it becomes `healthy` (whatever state it was previously in).
After a certain number of consecutive failures, it becomes `unhealthy`.

The options that can appear before `CMD` are:

* `--interval=DURATION` (default: `30s`)
* `--timeout=DURATION` (default: `30s`)
* `--retries=N` (default: `1`)

The health check will first run **interval** seconds after the container is
started, and then again **interval** seconds after each previous check completes.

If a single run of the check takes longer than **timeout** seconds then the check
is considered to have failed.

It takes **retries** consecutive failures of the health check for the container
to be considered `unhealthy`.

There can only be one `HEALTHCHECK` instruction in a Dockerfile. If you list
more than one then only the last `HEALTHCHECK` will take effect.

The command after the `CMD` keyword can be either a shell command (e.g. `HEALTHCHECK
CMD /bin/check-running`) or an _exec_ array (as with other Dockerfile commands;
see e.g. `ENTRYPOINT` for details).

The command's exit status indicates the health status of the container.
The possible values are:

- 0: success - the container is healthy and ready for use
- 1: unhealthy - the container is not working correctly
- 2: starting - the container is not ready for use yet, but is working correctly

If the probe returns 2 ("starting") when the container has already moved out of the
"starting" state then it is treated as "unhealthy" instead.

For example, to check every five minutes or so that a web-server is able to
serve the site's main page within three seconds:

    HEALTHCHECK --interval=5m --timeout=3s \
      CMD curl -f http://localhost/ || exit 1

To help debug failing probes, any output text (UTF-8 encoded) that the command writes
on stdout or stderr will be stored in the health status and can be queried with
`docker inspect`. Such output should be kept short (only the first 4096 bytes
are stored currently).

When the health status of a container changes, a `health_status` event is
generated with the new status. The health status is also displayed in the
`docker ps` output.

Signed-off-by: Thomas Leonard <thomas.leonard@docker.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2016-06-02 23:58:34 +02:00
Brian Goff d1b1b6a98e Merge pull request #23212 from LK4D4/remove_unused_var
pkg/parser/kernel: remove unused var block
2016-06-02 16:30:05 -04:00
Vincent Demeester eb9274844e Merge pull request #23140 from Microsoft/HcsshimRevendor
Revendor hcsshim
2016-06-02 22:09:19 +02:00
Arnaud Lefebvre 20bf00dfa5 Use PKG_CONFIG environment variable if it exists
pkg-config is not always available in the path
so let people choose where it's located

Signed-off-by: Arnaud Lefebvre <a.lefebvre@outlook.fr>
2016-06-02 21:53:28 +02:00
Sebastiaan van Stijn 4399d3b309 Merge pull request #23206 from mlaventure/fix-release-deb
Fix release-deb script
2016-06-02 21:22:49 +02:00
Sebastiaan van Stijn 791f98290e Merge pull request #22806 from errordeveloper/master
Remove MountFlags in systemd unit to allow shared mount propagation
2016-06-02 20:04:08 +02:00
Alexander Morozov 6e5894b551 pkg/parser/kernel: remove unused var block
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
2016-06-02 10:50:36 -07:00