Commit Graph

56 Commits

Author SHA1 Message Date
cd609dc421 Merge pull request #6954 from LK4D4/fix_container_run_after_restart_#4766
Set state running before dumping to disk
Upstream-commit: 5702029a0f12cd382845e0ae1a31c61450851ee0
Component: engine
2014-07-16 11:35:14 -07:00
5ddda4b09a Set state running before dumping to disk
Fixes #4766
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
Upstream-commit: 97a38079010bddfe6316c4087c13825fd8df64b7
Component: engine
2014-07-14 21:16:27 +04:00
ca489c2f49 Basic --cap-add and --cap-drop support for native
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
Upstream-commit: 94e6dc978134b61a2b30aa9118f98f6fadd10535
Component: engine
2014-07-11 23:43:21 +00:00
8850edab1a Merge pull request #6979 from LK4D4/fix_race_inspect_start
Use container.Lock in public ToDisk method
Upstream-commit: c3f247860aa169f4a9530d025da935d71af72f20
Component: engine
2014-07-11 13:44:01 -07:00
241e1f987c Use container.Lock in public ToDisk method
Here was possible race with inspect where we changing HostConfig.Links
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
Upstream-commit: eae5cf1e20e8d93cc13ea8e1db3cd787250fa76d
Component: engine
2014-07-11 23:31:03 +04:00
c15db86f61 Add --device flag to allow additional host devices in container
We add a --device flag which can be used like:

 docker run --device /dev/sda:/dev/xvda:rwm ubuntu /bin/bash

To allow the container to have read write permissions to access the host's /dev/sda via a node named /dev/xvda in the container.

Note: Much of this code was written by Dinesh Subhraveti dineshs@altiscale.com (github: dineshs-altiscale) and so he deserves a ton of credit.

Docker-DCO-1.1-Signed-off-by: Timothy <timothyhobbs@seznam.cz> (github: timthelion)
Upstream-commit: e855c4b92170534864b920ec1e267b3a815764f9
Component: engine
2014-07-10 10:35:53 -07:00
31988404b5 BroadcastWriter refactoring
It became slightly faster and lighter
possibly fixes #5923 problems

Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
Upstream-commit: 7bdd23bfeec1968a3061e63e24af049837baf4c4
Component: engine
2014-07-03 10:12:53 +04:00
4d29e9b718 Move WriteBroadcaster to separate package as BroadcastWriter
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
Upstream-commit: 9d4e80222144c0aef3e78202ecb4904b3ce5ed9b
Component: engine
2014-07-02 23:31:06 +04:00
53991068e0 Use State waiting functions
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
Upstream-commit: 57d86a5619adae5e08e0e28fba99f6a7c2f5ee54
Component: engine
2014-06-27 15:07:40 +04:00
d4f4419563 Change misnamed TarFilter to TarWithOptions
Docker-DCO-1.1-Signed-off-by: Travis Cline <travis.cline@gmail.com> (github: tmc)
Upstream-commit: 111ab125b954c8d28503e1922e742eb271cc5d04
Component: engine
2014-06-26 22:49:08 +00:00
8a9e50b1f5 fix bug in getRootResourcePath in previous commit
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
Upstream-commit: 48907d57ede696c68e210cb93cb405124a49cbd3
Component: engine
2014-06-18 15:51:28 -04:00
c1fafcf79b daemon: *: updated getResourcePath and getRootResourcePath signatures
This patch updates container.getResourcePath and container.getRootResourcePath
to return the error from symlink.FollowSymlinkInScope (rather than using utils).

Docker-DCO-1.1-Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)

Remove Inject to help rebase

Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)

Docker-DCO-1.1-Signed-off-by: cyphar <cyphar@cyphar.com> (github: tiborvass)
Upstream-commit: 5c069940db2042d83bd4ef462a8a50d565aaf874
Component: engine
2014-06-18 15:51:28 -04:00
807354f6af expose unresolved path for volumes and resolve symlink in container.getResourcePath
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
Upstream-commit: 65d4047cb60ec77a4009d25c91b29f95375c8fe5
Component: engine
2014-06-18 15:51:27 -04:00
5a4d61b92a Merge pull request #6214 from LK4D4/fix_some_more_race_conditions
Fix some more race conditions
Upstream-commit: 51b188c5102e86ad453c933077bcaf9594070c28
Component: engine
2014-06-12 15:17:10 -07:00
c99ab31438 add hostname generation with --net=host
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
Upstream-commit: f5979b9d0dd993a00e064114218ccdbfdaab9fe0
Component: engine
2014-06-12 19:20:57 +00:00
5c1bb534bb Fix race in get/set HostConfig
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
Upstream-commit: fa7c8d523e8d899ade547fcaacc34a739ab5044f
Component: engine
2014-06-11 15:23:33 +04:00
52b8a282c3 Update libcontainer imports
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 8194556337b65dda71a3d4d7f6ae9653ad5a19a0
Component: engine
2014-06-10 19:58:15 -07:00
b00f7d0626 Gofmt imports
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: bae6a5a616cfc382f45a25af13633681875ddff0
Component: engine
2014-06-09 16:01:57 -07:00
3c7670e68c Move libcontainer deps into libcontainer
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 6158ccad97db51e756aafefb096d1163aa4d6439
Component: engine
2014-06-09 15:52:12 -07:00
e29c2c6bde Totally remove insert feature
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 7a145b022a3b50b0d04cb0471d517f7c6c5efc67
Component: engine
2014-06-04 17:35:15 -07:00
0fc07e0aef Integrating systemd freeze functionality.
This pulls together #6061 and #6125

Docker-DCO-1.1-Signed-off-by: Chris Alfonso <calfonso@redhat.com> (github: calfonso)
Upstream-commit: 26246ebd5379a83b2ed656668bd985c652e98167
Component: engine
2014-06-04 13:33:44 -06:00
77114664a4 Add ability to pause/unpause containers via cgroups freeze
This patch adds pause/unpause to the command line, api, and drivers
for use on containers.  This is implemented using the cgroups/freeze
utility in libcontainer and lxc freeze/unfreeze.

Co-Authored-By: Eric Windisch <ewindisch@docker.com>
Co-Authored-By: Chris Alfonso <calfonso@redhat.com>
Docker-DCO-1.1-Signed-off-by: Ian Main <imain@redhat.com> (github: imain)
Upstream-commit: b054569cde788b2111ddbc4080b215dcda89f06e
Component: engine
2014-06-04 13:33:44 -06:00
bc9024a72e Merge pull request #6097 from timthelion/consistentdevices
Refactor device handling code
Upstream-commit: 0ef637722f69cff931b25c75d421e231ab75af75
Component: engine
2014-05-31 03:34:52 +03:00
52c8a31f21 Refactor device handling code
We now have one place that keeps track of (most) devices that are allowed and created within the container.  That place is pkg/libcontainer/devices/devices.go

This fixes several inconsistencies between which devices were created in the lxc backend and the native backend.  It also fixes inconsistencies between wich devices were created and which were allowed.  For example, /dev/full was being created but it was not allowed within the cgroup.  It also declares the file modes and permissions of the default devices, rather than copying them from the host.  This is in line with docker's philosphy of not being host dependent.

Docker-DCO-1.1-Signed-off-by: Timothy Hobbs <timothyhobbs@seznam.cz> (github: https://github.com/timthelion)
Upstream-commit: 608702b98064a4dfd70b5ff0bd6fb45d2429f45b
Component: engine
2014-05-30 19:21:29 +00:00
687a71e998 update container's state after we close the waitLock
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
Upstream-commit: 1de52caedca11c083e92039e2ecd8671944dfc47
Component: engine
2014-05-28 00:18:51 +00:00
e0a89dbf86 Merge pull request #6059 from erikh/fix-tests
Fix race condition in CLI tests: diff was not acquiring a container lock
Upstream-commit: a60537992710edce4095b987f6e19ad0aea34ffa
Component: engine
2014-05-27 13:19:32 -07:00
3ed3d24076 Fix race condition in CLI tests: diff was not acquiring a container lock
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
Upstream-commit: 8b77e0183eaa7b3a87921f9655e2799d300bf775
Component: engine
2014-05-27 12:28:31 -07:00
05b57dfef1 Add Wait() calls in the appropriate spots
Docker-DCO-1.1-Signed-off-by: Erik Hollensbe <github@hollensbe.org> (github: erikh)
Upstream-commit: 92e41a02ce40c7d3446b8ca7ec5c5671ac3d8917
Component: engine
2014-05-27 12:26:56 -07:00
e52cd2deb7 daemon: container: properly handle paths with symlink path components
This patch fixes the incorrect handling of paths which contain a
symlink as a path component when copying data from a container.
Essentially, this patch changes the container.Copy() method to
first "resolve" the resource by resolving all of symlinks encountered
in the path relative to the container's rootfs (using pkg/symlink).

Docker-DCO-1.1-Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
Upstream-commit: 328d2cba116067a2ad0f161b9ee098ed024825b3
Component: engine
2014-05-24 11:01:19 +10:00
d979c2acea Merge pull request #5859 from philips/append-etc-hosts-not-bind
fix(daemon): prepend host /etc/hosts instead of bind mounting
Upstream-commit: 4bb4bf634a0a056ff8fb4186875c004e156f012d
Component: engine
2014-05-21 15:57:59 -07:00
3921a34ddb use buffered channel so goroutine does not get blocked on done <- true when a timeout occurs.
Docker-DCO-1.1-Signed-off-by: Anandkumar Patel <anandkumarpatel@gmail.com> (github: anandkumarpatel)
Upstream-commit: 789a8f26161ca86a721fe6b7295e3eaf9051b3a2
Component: engine
2014-05-20 21:33:40 -07:00
16c9a15cd6 fix(daemon): prepend host /etc/hosts instead of bind mounting
systemd systems do not require a /etc/hosts file exists since an nss
module is shipped that creates localhost implicitly. So, mounting
/etc/hosts can fail on these sorts of systems, as was reported on CoreOS
in issue #5812.

Instead of trying to bind mount just copy the hosts entries onto the
containers private /etc/hosts.

Docker-DCO-1.1-Signed-off-by: Brandon Philips <brandon.philips@coreos.com> (github: philips)
Upstream-commit: 000a37fe9d13a173ab46fcd5b8e693950a438f98
Component: engine
2014-05-19 22:32:51 -07:00
dda972255c Merge pull request #5720 from cyphar/5656-cp-absolute-paths
Ensure `docker cp` cannot traverse outside container rootfs
Upstream-commit: 4af465fccf35d0c9e529f02f6cc9c8be9fc81c68
Component: engine
2014-05-14 11:46:11 -07:00
4926e35bb1 Add cpuset cpus support for docker
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: adbe3096e8c8572925dbae5f19ac2ce2dc84fb1c
Component: engine
2014-05-13 18:17:12 -07:00
65987d4f80 daemon: *: refactored container resource path generation
This patch is a preventative patch, it fixes possible future
vulnerabilities regarding unsantised paths. Due to several recent
vulnerabilities, wherein the docker daemon could be fooled into
accessing data from the host (rather than a container), this patch
was created to try and mitigate future possible vulnerabilities in
the same vein.

Docker-DCO-1.1-Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
Upstream-commit: 0fb507dc2328c5c364a2cd1701a155efb1767a1a
Component: engine
2014-05-14 11:15:50 +10:00
9a8663f86a daemon: container: ensure cp cannot traverse outside container rootfs
This patch fixes the bug that allowed cp to copy files outside of
the containers rootfs, by passing a relative path (such as
../../../../../../../../etc/shadow). This is fixed by first converting
the path to an absolute path (relative to /) and then appending it
to the container's rootfs before continuing.

Docker-DCO-1.1-Signed-off-by: Aleksa Sarai <cyphar@cyphar.com> (github: cyphar)
Upstream-commit: bfc3a4192ae5723e401470688cdae59b95bd61f1
Component: engine
2014-05-14 11:14:59 +10:00
1d128ba235 add linked containers to hosts file
Docker-DCO-1.1-Signed-off-by: Bryan Murphy <bmurphy1976@gmail.com> (github: bmurphy1976)

Docker-DCO-1.1-Signed-off-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Tested-by: Solomon Hykes <solomon@docker.com> (github: shykes)
Upstream-commit: 53f38a14cd6b61a6b5df68cc3694dcba2b0c1eb7
Component: engine
2014-05-05 19:40:27 -07:00
9343517f87 Move Attach from container to daemon
This moves the Attach method from the container to the daemon.  This
method mostly supports the http attach logic and does not have anything
to do with the running of a container.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 41cfaa738c2d8583ecca50948c9df5eda3dfd7f1
Component: engine
2014-05-05 16:48:56 -07:00
a2cfcf5177 propagate errors write
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
Upstream-commit: 55f3e72d7f6b996c0874d402c95f4b8c9a7d80d9
Component: engine
2014-05-05 23:23:14 +00:00
4ec4fca8da Merge pull request #5609 from crosbymichael/move-env-gen
Upstream-commit: 0736eb6d164a58388acb9f6f3993250d76b8665b
Component: engine
2014-05-05 15:52:47 -07:00
ac35d8965e add resolvconf
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
Upstream-commit: 3744452ecf46351758478e99795e20b186a1bee4
Component: engine
2014-05-05 22:55:32 +00:00
60d5f26ff6 add etchosts
Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
Upstream-commit: a1a029f6d7f980960135c1346a1e9f7830692fac
Component: engine
2014-05-05 22:43:38 +00:00
4d22840b79 Move envconfig generation to lxc driver
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 4994b0fe5459996691dde18155a7b712762e8e53
Component: engine
2014-05-05 14:45:14 -07:00
1cb3e810da Address code review feedback
Also make sure we copy the joining containers hosts and resolv.conf with
the hostname if we are joining it's network stack.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 0b187b909be1dac60194250bc6e9ff292a0bd5c9
Component: engine
2014-05-05 10:08:59 -07:00
5fdf7d4579 Update host networking with hostname and files
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 5ca6532011436eee85ccb555a0832a82450454ea
Component: engine
2014-05-05 10:08:59 -07:00
0fcf738183 Setup host networking for lxc and native
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: a785882b29b9f0b24ace8249576c5d8d7f8c1d94
Component: engine
2014-05-05 10:08:59 -07:00
ad111d4199 Update --net flags and container mode
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 2c2cc051d831f54d1bb070642edcd876ff669e78
Component: engine
2014-05-05 10:08:59 -07:00
381004dc30 runconfig: add -net container:name option
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com> (github: proppy)
Upstream-commit: a60159f3b102244fc5470642bd32eb99d5ac329c
Component: engine
2014-05-05 10:08:59 -07:00
6a260a1e42 Timestamps for docker logs.
Fixes #1165
Docker-DCO-1.1-Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com> (github: LK4D4)
Upstream-commit: d1297feef8b124e69efc99a58294f498ecb8c022
Component: engine
2014-05-01 20:40:36 +04:00
620a842b2b Do not return labels when in privileged mode
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
Upstream-commit: 1a5ffef6c6ea8c5cc31c298bbdf6f7a29c60fbb8
Component: engine
2014-04-29 03:40:06 -07:00