Commit Graph

3190 Commits

Author SHA1 Message Date
75cce52537 Add check about filter name for containers
Fixes: #21202
We add valid check about filters like network, images,
volumes did.

Signed-off-by: Kai Qiang Wu(Kennan) <wkqwu@cn.ibm.com>
Upstream-commit: 8a90e8a19b8108ecdff325fc19dbdf945aa15fad
Component: engine
2016-03-16 03:53:40 +00:00
7cd02ebb1a Merge pull request #21022 from hqhq/hq_fix_race_resize
Fix race condition with exec and resize
Upstream-commit: cc12d2bfaae135e63b1f962ad80e6943dd995337
Component: engine
2016-03-15 22:54:55 +01:00
f29a1e7874 Merge pull request #21128 from allencloud/handle-kernel-and-os-error-in-info-api
handle kernel and os info error in /info api
Upstream-commit: db182507c1153b0ed3b0d30d4f41ab4ad8050882
Component: engine
2016-03-15 14:42:57 -07:00
1631c5a879 Merge pull request #21218 from runcom/len-check-fix
daemon: update: check len inside public function
Upstream-commit: a2039f117cd6f1969312894edcfd2652cf7f3995
Component: engine
2016-03-15 14:37:19 -07:00
a516bc2aa3 Merge pull request #19831 from cloudflare/optimize-gelf
GELF logger: Add gelf-compression-type and gelf-compression-level
Upstream-commit: 0f59b0b12c37b5a3b4ad1c8a0cb91c93ff4228a9
Component: engine
2016-03-15 22:35:46 +01:00
6decd866d9 daemon: update: check len inside public function
Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Upstream-commit: bb05c188927cdc7a5f86dceace3a4043b0dfeb28
Component: engine
2016-03-15 17:24:25 +01:00
e310757018 handle kernel and os info error in /info api
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: b0fb0f19934287f428d14d1267183fe9194a4fdf
Component: engine
2016-03-15 20:23:15 +08:00
9b54541f07 add gelf option to customize compression type and level
this allows user to choose the compression type (i.e. gzip/zlib/none) using
--log-opt=gelf-compression-type=none or the compression level (-1..9) using
--log-opt=gelf-compression-level=0 for gelf driver.

Signed-off-by: Daniel Dao <dqminh@cloudflare.com>
Upstream-commit: bd94baa353498df2457b3d5aa192cc488b9fa0c6
Component: engine
2016-03-15 11:06:06 +00:00
fa85755ee7 Merge pull request #21097 from thaJeztah/dont-run-without-udev-sync
Fail when devicemapper doesn't support udev-sync
Upstream-commit: 37a1fadae6390e38da85d3fffe7a49e00de2830e
Component: engine
2016-03-14 21:18:01 -04:00
30dcca7468 Merge pull request #20786 from rhvgoyal/min-free-space
devmapper: Add a new option dm.min_free_space_percent
Upstream-commit: bfed97b6881393be51e81b97040f3874b61b8d72
Component: engine
2016-03-14 20:10:43 -04:00
971cc9c13a Merge pull request #20121 from solganik/master
syslog format
Upstream-commit: f5009515989f6e16d3e9955a7905d1fe64e73642
Component: engine
2016-03-14 20:09:15 -04:00
32e01227d0 Merge pull request #20111 from twistlock/19995_skip_user_ns
Run privileged containers when userns are specified - feature proposal
Upstream-commit: d8539347bfb9c019a29b56ea36f1538900bc543b
Component: engine
2016-03-14 15:11:55 -07:00
9694bed63e Merge pull request #21002 from tonistiigi/fix-id-noprefix
Fix docker run for 64 byte hex ID
Upstream-commit: df20b5cfd337bb3093fd87e278501fbca4480d54
Component: engine
2016-03-14 10:17:38 -07:00
1ddccf6e06 Merge pull request #21048 from LK4D4/fix_attach_leak
daemon: fix hanging attaches on initial start failures
Upstream-commit: 8e74cf59d06ce0052193ec8216db5dca7eec4981
Component: engine
2016-03-14 10:16:45 -07:00
e578be78a3 Run privileged containers when userns are specified
Following #19995 and #17409 this PR enables skipping userns re-mapping
when creating a container (or when executing a command). Thus, enabling
privileged containers running side by side with userns remapped
containers.

The feature is enabled by specifying ```--userns:host```, which will not
remapped the user if userns are applied. If this flag is not specified,
the existing behavior (which blocks specific privileged operation)
remains.

Signed-off-by: Liron Levin <liron@twistlock.com>
Upstream-commit: 6993e891d10c760d22e0ea3d455f13858cd0de46
Component: engine
2016-03-14 17:09:25 +02:00
83045d547d Merge pull request #20970 from dmcgowan/login-oauth
OAuth support for registries
Upstream-commit: b9361f02da25108af75238093959634e433d72a0
Component: engine
2016-03-14 15:49:44 +01:00
0bad8836e9 Merge pull request #21076 from calavera/fix_builtin_graphdriver_init
Make sure we call every graph init with the same root path.
Upstream-commit: e2d245ad816af8ace52647345ca77b9d0eab641e
Component: engine
2016-03-11 14:20:39 -08:00
78153006fc Make sure we call every graph init with the same root path.
Remove O(n^2) check for several prior configured drivers.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: ed6e33eedeaa6b7da44d3b0b3e2eac020b09277a
Component: engine
2016-03-11 17:15:55 -05:00
7d0b608cf5 Fix docker run for 64 byte hex ID
Fixes #20972

Also makes sure there is no check to registry if
no image is found for the prefixed IDs.

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 16e4c4e481aca8d5a99d5a4760b5d27bf5bbb9fd
Component: engine
2016-03-11 10:02:47 -08:00
1585d5df26 fix typos
Signed-off-by: allencloud <allen.sun@daocloud.io>
Upstream-commit: bbeb859b6490a03d7c4265762711b551c22e914d
Component: engine
2016-03-11 23:22:16 +08:00
5c90ec4623 Fix race condition with exec and resize
When I use `docker exec -ti test ls`, I got error:
```
ERRO[0035] Handler for POST /v1.23/exec/9677ecd7aa9de96f8e9e667519ff266ad26a5be80e80021a997fff6084ed6d75/resize returned error: bad file descriptor
```

It's because `POST /exec/<id>/start` and
`POST /exec/<id>/resize` are asynchronous, it is
possible that exec process finishes and ternimal
is closed before resize. Then `console.Fd()` will
get a large invalid number and we got the above
error.

Fix it by adding synchronization between exec and
resize.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
Upstream-commit: dc56a76bc9f16b2d57b9d64822e305c1e787fcf0
Component: engine
2016-03-11 09:59:50 +08:00
76b88b0399 Merge pull request #21045 from calavera/registry_config_options
Move registry service options to the daemon configuration.
Upstream-commit: 1d094255d57090d34b2c11c12b253c277ae1ce28
Component: engine
2016-03-11 00:48:55 +01:00
3dbccba8c4 Merge pull request #20478 from msabansal/HNSIntegration
Windows libnetwork integration
Upstream-commit: 2b8e7ad4609e668d2187e81055e1e76ed0c11552
Component: engine
2016-03-10 13:33:04 -08:00
ed1cf843bd Fail when devicemapper doesn't support udev-sync
Now what we provide dynamic binaries for all plaforms,
we shouldn't try to run docker without udev sync support.

This change changes the previous warning to an Error,
unless the user explicitly overrides the warning, in
which case they're at their own risk.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: de641715105a116042ad9be5e1b2d1bb2962eb9c
Component: engine
2016-03-10 19:13:44 +01:00
91021f9750 Move registry service options to the daemon configuration.
Allowing to set their values in the daemon configuration file.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 59586d02b1cc004f14cd7ff6b454211f562da326
Component: engine
2016-03-10 11:53:11 -05:00
75088991dc Merge pull request #21018 from hqhq/hq_fix_race_exec_tty
Fix race condition when exec with tty
Upstream-commit: 790d8f8520d23d16cc0a141e6fd56246a45b327a
Component: engine
2016-03-10 08:27:54 -08:00
536ff97acf Merge pull request #20958 from calavera/basic_function_templates
Provide basic string manipulation functions for template executions.
Upstream-commit: 943ae26bc01913fefe415defc575ea10e24f6a2b
Component: engine
2016-03-10 08:08:32 -08:00
b4a4774b91 daemon: fix hanging attaches on initial start failures
Attach can hang forever if there is no data to send. This PR adds notification
of Attach goroutine about container stop.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: 7bb815e2960c97c5cc0624566ac51581bdd884ab
Component: engine
2016-03-10 07:38:46 -08:00
23f9a9fa41 Windows libnetwork integration
Signed-off-by: msabansal <sabansal@microsoft.com>
Upstream-commit: e8026d8a98ef30ff0ada303404e02567caebb1b0
Component: engine
2016-03-09 20:33:21 -08:00
f60019e64d Merge pull request #21019 from aboch/se
Add port configs to Sandbox and libnetwork vendoring
Upstream-commit: d99be399c35df921970bb8bebf4b4bdf774849b3
Component: engine
2016-03-09 22:27:37 -05:00
a66058a138 Provide basic string manupilation functions for template executions.
This change centralizes the template manipulation in a single package
and adds basic string functions to their execution.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 8514880997bd1bc944769dcc41e52307bb01f7ff
Component: engine
2016-03-09 19:37:12 -05:00
80ec175db5 Add Exposed ports and port-mapping configs to Sandbox
Signed-off-by: Alessandro Boch <aboch@docker.com>
Upstream-commit: b8a5fb76ea3d2ba3168380757cb5a746350ea451
Component: engine
2016-03-09 14:07:23 -08:00
8ca8fa6b76 Add support for identity token with token handler
Use token handler options for initialization.
Update auth endpoint to set identity token in response.
Update credential store to match distribution interface changes.

Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
Upstream-commit: e896d1d7c4459c4b357efdd780e9fb9dd9bc90e0
Component: engine
2016-03-09 13:47:57 -08:00
0df74af651 Fixes #18712. Add rfc5424 log format for syslog.
Previously docker used obsolete rfc3164 syslog format for syslog. rfc3164 explicitly
uses semicolon as a separator between 'TAG' and 'Content' section of the log message.
Docker uses semicolon as a separator between image name and version tag.
When {{.ImageName}} was used as a tag expression and contained ":" syslog parser mistreated
"tag" part of the image name as syslog message body, which resulted in incorrect "syslogtag" been reported by syslog
daemon.
Use of rfc5424 log format partually fixes the issue as it does not use semicolon as a separator.
However using default rfc5424 syslog format itroduces backward incompatability because rsyslog template keyword  %syslogtag%
is parsed differently. In rfc3164 it uses the "TAG" part reported before the "pid" part. In rfc5424 it uses "appname" part reported
before the pid part, while tag part is introduced by %msgid% part.
For more information on rsyslog configuration properties see: http://www.rsyslog.com/doc/master/configuration/properties.html

Added two options to specify logging in either rfc5424, rfc3164 format or unix format omitting hostname in order to keep backwards compatability with
previous versions.

Signed-off-by: Solganik Alexander <solganik@gmail.com>
Upstream-commit: 1a40dd535fb12cade584f085baa23734e8a9bb0e
Component: engine
2016-03-09 22:31:11 +02:00
03dcde6cf7 Merge pull request #21013 from calavera/events_since_nano
Compare event nanoseconds properly to filter since a specific date.
Upstream-commit: f97ab358cb9443816ff436aac410ef75ca385530
Component: engine
2016-03-09 09:30:54 -08:00
e7ce25846b Merge pull request #21033 from estesp/workdir-perms-userns
Ensure WORKDIR is created with remapped root ownership
Upstream-commit: 3d09842713b98dc59a0833c0fc110c14c5778d70
Component: engine
2016-03-09 07:22:08 +01:00
775d953faa Compare event nanoseconds properly to filter since a specific date.
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: a9f2006f105340890787799a5686b9760ab6be42
Component: engine
2016-03-08 17:07:58 -05:00
356157b64b Merge pull request #18697 from jfrazelle/pids-cgroup
Add PIDs cgroup support to Docker
Upstream-commit: dd32445ecc6b706e8681dcc9d80c42c9b6cbf6cd
Component: engine
2016-03-08 14:03:36 -08:00
3d1795a330 Merge pull request #20727 from mrunalp/no_new_priv
Add support for NoNewPrivileges in docker
Upstream-commit: dc702b6c6bda5cd2d530e86804627c1a5a155e3c
Component: engine
2016-03-08 14:26:15 -05:00
98685a6505 Ensure WORKDIR is created with remapped root ownership
Correct creation of a non-existing WORKDIR during docker build to use
remapped root uid/gid on mkdir

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
Upstream-commit: 799a6b94ee661022d66f88a009ff58f08eb5a2c3
Component: engine
2016-03-08 11:58:55 -05:00
de84e87a00 pids limit support
update bash commpletion for pids limit

update check config for kernel

add docs for pids limit

add pids stats

add stats to docker client

Signed-off-by: Jessica Frazelle <acidburn@docker.com>
Upstream-commit: 69cf03700fed7bf5eb7fe00c9214737e21478e49
Component: engine
2016-03-08 07:55:01 -08:00
9a568f22f0 Fix race condition when exec with tty
I can reproduce this easily on one of my servers,
`docker exec -ti my_cont ls` will not print anything,
without `-t` it acts normally.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
Upstream-commit: a444b5f60c75bdac82c9a7126738c210e2ccf941
Component: engine
2016-03-08 10:53:34 +08:00
e7b4b05653 devmapper: Add a new option dm.min_free_space
Once thin pool gets full, bad things can happen. Especially in case of xfs
it is possible that xfs keeps on retrying IO infinitely (for certain kind
of IO) and container hangs. 

One way to mitigate the problem is that once thin pool is about to get full,
start failing some of the docker operations like pulling new images or
creation of new containers. That way user will get warning ahead of time
and can try to rectify it by creating more free space in thin pool. This
can be done either by deleting existing images/containers or by adding more
free space to thin pool.

This patch adds a new option dm.min_free_space to devicemapper graph
driver. Say one specifies dm.min_free_space=10%. This means atleast
10% of data and metadata blocks should be free in pool before new device
creation is allowed, otherwise operation will fail.

By default min_free_space is 10%. User can change it by specifying
dm.min_free_space=X% on command line. A value of 0% will disable the
check.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Upstream-commit: 2e222f69b3486cf20039525a882ae4153b52f92c
Component: engine
2016-03-07 20:27:39 +00:00
3e9b68d581 Add support for NoNewPrivileges in docker
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>

Add tests for no-new-privileges

Signed-off-by: Mrunal Patel <mrunalp@gmail.com>

Update documentation for no-new-privileges

Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
Upstream-commit: 74bb1ce9e9dbfa9dd866e84f891e865fca906d9a
Component: engine
2016-03-07 09:47:02 -08:00
c78c25ea17 Do not wait for container on stop if the process doesn't exist.
This fixes an issue that caused the client to hang forever if the
process died before the code arrived to exit the `Kill` function.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 1a729c3dd8e84eef0a0b10cab24e88b768557482
Component: engine
2016-03-04 16:00:58 -05:00
6c9a39a756 Merge pull request #20934 from icecrime/20543_debugging
Fix race condition on daemon shutdown (#20543)
Upstream-commit: 2af84d8875045f853210dcdab2548daaad70856f
Component: engine
2016-03-04 11:08:50 -08:00
1b65b96bab Merge pull request #20834 from rhatdan/relabelvolume
Do not relabel if user did not request it for non local volumes
Upstream-commit: 8142ebb0be765e6a1ac718d292bb66f7acb145de
Component: engine
2016-03-04 13:17:54 +01:00
c66cb2a6ce Fix race in container creation
Only register a container once it's successfully started. This avoids a
race condition where the daemon is killed while in the process of
calling `libcontainer.Container.Start`, and ends up killing -1.

There is a time window where the container `initProcess` is not set, and
its PID unknown. This commit fixes the race Engine side.

Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
Upstream-commit: ad2fa3945997905760a4c7ef0444580ffb4b939a
Component: engine
2016-03-03 20:25:03 -08:00
9af5c681c5 Aufs: reduce redundant parsing of mountinfo
Check whether or not the file system type of a mountpoint is aufs
by calling statfs() instead of parsing mountinfo. This assumes
that aufs graph driver does not allow aufs as a backing file
system.

Signed-off-by: Tatsushi Inagaki <e29253@jp.ibm.com>
Upstream-commit: e8513675a20e2756e6c2915604605236d1a94d65
Component: engine
2016-03-04 11:39:59 +09:00
e0a2d2cb2d Merge pull request #20730 from clnperez/sysinfo-match-ip-case
Match case for IP variables in sysinfo pkg
Upstream-commit: b7bc1ce1a4be4d309395303cdc573922a48bfd72
Component: engine
2016-03-03 08:48:57 -08:00