Commit Graph

458 Commits

Author SHA1 Message Date
4c65875314 Move exec store to its own package inside the daemon.
Remove double reference between containers and exec configurations by
keeping only the container id.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 9ca2e4e81cdb950f2b5958a7712153d1a6dd6e4c
Component: engine
2015-11-20 17:40:16 -05:00
a043562f2a Extract StreamConfig struct out of the daemon package.
This is a small configuration struct used in two scenarios:

1. To attach I/O pipes to a running containers.
2. To attach to execution processes inside running containers.

Although they are similar, keeping the struct in the same package
than exec and container can generate cycled dependencies if we
move any of them outside the daemon, like we want to do
with the container.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 3f5b8f712d693188b41b3d9b55e5e5213be48ef5
Component: engine
2015-11-20 15:04:27 -05:00
b104ad8df6 Remove the container initializers per platform.
By removing deprecated volume structures, now that windows mount volumes we don't need a initializer per platform.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 060f4ae6179b10aeafa883670826159fdae8204a
Component: engine
2015-11-18 08:41:46 -05:00
07479c944e Merge pull request #16452 from rhatdan/btrfs-selinux
Relabel BTRFS Content on container Creation
Upstream-commit: 4dda67b8014e71508e992c736febc5c45c53c095
Component: engine
2015-11-17 11:03:40 -08:00
c077545d83 Relabel BTRFS Content on container Creation
This change will allow us to run SELinux in a container with
BTRFS back end.  We continue to work on fixing the kernel/BTRFS
but this change will allow SELinux Security separation on BTRFS.

It basically relabels the content on container creation.

Just relabling -init directory in BTRFS use case. Everything looks like it
works. I don't believe tar/achive stores the SELinux labels, so we are good
as far as docker commit.

Tested Speed on startup with BTRFS on top of loopback directory. BTRFS
not on loopback should get even better perfomance on startup time.  The
more inodes inside of the container image will increase the relabel time.

This patch will give people who care more about security the option of
runnin BTRFS with SELinux.  Those who don't want to take the slow down
can disable SELinux either in individual containers or for all containers
by continuing to disable SELinux in the daemon.

Without relabel:

> time docker run --security-opt label:disable fedora echo test
test

real    0m0.918s
user    0m0.009s
sys    0m0.026s

With Relabel

test

real    0m1.942s
user    0m0.007s
sys    0m0.030s

Signed-off-by: Dan Walsh <dwalsh@redhat.com>

Signed-off-by: Dan Walsh <dwalsh@redhat.com>
Upstream-commit: 1716d497a420f0cd4e53a99535704c6d215e38c7
Component: engine
2015-11-11 14:49:27 -05:00
1a0735060a Add support for blkio.weight_device
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
Upstream-commit: 0fbfa1449d917ee0778266139d6035fb0782f7c2
Component: engine
2015-11-11 23:06:36 +08:00
13125ff6b4 Merge pull request #17700 from calavera/remove_lxc
Remove LXC support.
Upstream-commit: 2519f465501657c24ecd13b8e53964b6c2f1a78d
Component: engine
2015-11-05 15:22:37 -08:00
f427a47755 Remove exec-driver global daemon option.
Each platform has only a driver now.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 157b66ad390902ef6f5b51b3f76d5177eacac81b
Component: engine
2015-11-05 17:09:58 -05:00
ef88e7ace2 Remove LXC support.
The LXC driver was deprecated in Docker 1.8.
Following the deprecation rules, we can remove a deprecated feature
after two major releases. LXC won't be supported anymore starting on Docker 1.10.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 3b5fac462d21ca164b3778647420016315289034
Component: engine
2015-11-05 17:09:57 -05:00
63911eff34 Merge pull request #17673 from LK4D4/elim_str_comparison
Do not rely on string comparison in truncindex
Upstream-commit: 9c1006c8bf2efc71659ec3b5412ce987661decca
Component: engine
2015-11-04 15:39:19 -08:00
b92bac632d Do not rely on string comparison in truncindex
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: d4a8d09d1a7ced5c711fcc7a939986d22a0554eb
Component: engine
2015-11-04 11:34:05 -08:00
1820467533 Remove further references to the daemon within containers.
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 63efc12070b2aff0f062ad62cc577cf2ffb66ef6
Component: engine
2015-11-04 12:28:54 -05:00
c61aec7054 Decouple daemon and container from the stats collector.
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 5dc3a9a6da6ce6e3eee791251293cf045a4754f9
Component: engine
2015-11-04 12:27:49 -05:00
ed39402a61 Decouple daemon and container to manage networks.
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 669949d6b436d2fc182b427a5e2b38b3bd77c743
Component: engine
2015-11-04 12:27:48 -05:00
8678b0dd0d Decouple daemon and container to manage volumes.
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 2c72015ce3b78b45e33529368fb1c5a724415d87
Component: engine
2015-11-04 12:27:48 -05:00
b52340d649 Decouple daemon and container to mount and unmount filesystems.
Side effects:
- Decouple daemon and container to start containers.
- Decouple daemon and container to copy files.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 3a497650464b40191bd2cde348e676acf4efe270
Component: engine
2015-11-04 12:27:47 -05:00
d721eb8e53 Decouple daemon and container to pause and unpause containers.
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 9f79cfdb2f1f6aeb64c84e7cb877fc38d052d187
Component: engine
2015-11-04 12:27:47 -05:00
41d5167da1 Decouple daemon and container to stop and kill containers.
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 4f2a5ba360d0b00213d31f50a5be074c89124c52
Component: engine
2015-11-04 12:27:47 -05:00
9400b9a7bc Merge pull request #17554 from calavera/warm_ipc_unmounts
Turn IPC unmount errors into warnings.
Upstream-commit: 944ea3134d6fd68ff33f9bdd2f5b87d458824079
Component: engine
2015-11-02 14:25:39 -08:00
1dd04a954b Merge pull request #16579 from coolljt0725/fix_attach_paused_container
Add show error when attach to a paused container
Upstream-commit: 5719d010665377c0696e36b894e742399deb30ed
Component: engine
2015-10-31 07:43:22 -07:00
9be4647b0f Turn IPC unmount errors into warnings.
And do not try to unmount empty paths.

Because nobody should be woken up in the middle of the night for them.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: a54d5932e3a644317c77d59bc5aee562841d5c20
Component: engine
2015-10-30 19:13:52 -04:00
7e8d2a05a2 Merge pull request #16779 from Microsoft/10662-execdrivercommand
Windows: Refactor execdriver.Command
Upstream-commit: 0c991f3d68227a57225552e0c5237a72e5177da2
Component: engine
2015-10-30 14:59:59 -07:00
80a227297f Windows: Refactor execdriver.Command
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 9d14866d7173e974b9eff34e251b16083647f056
Component: engine
2015-10-30 13:53:00 -07:00
aaae8eab38 Force IPC mount to unmount on daemon shutdown/init
Instead of using `MNT_DETACH` to unmount the container's mqueue/shm
mounts, force it... but only on daemon init and shutdown.

This makes sure that these IPC mounts are cleaned up even when the
daemon is killed.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 78bd17e805b7514505455b10f2fd90962505a3ff
Component: engine
2015-10-30 15:41:48 -04:00
8365d94d5b Merge pull request #17510 from LK4D4/refactor_shutdown
Refactor Shutdown a little to reduce indentation
Upstream-commit: e990eca1e5b73c4e87f2e3b18f52f3d9630a988b
Component: engine
2015-10-30 12:24:03 +01:00
c4945bb6f2 Merge pull request #17498 from LK4D4/fix_graph_comment
Fix Graph() docstring
Upstream-commit: 6b9de7342ff79d9dbf889dd2d66a9b7dc6523c28
Component: engine
2015-10-30 09:48:16 +01:00
9e7bc2e568 Refactor Shutdown a little to reduce indentation
Also make daemon.netController.Stop() regardless of container existance.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: ace5854f654d58e821bb3d47c4e3255ae49619e5
Component: engine
2015-10-29 17:20:32 -07:00
35f2f24931 Fix Graph() docstring
It's not true anymore, it used in builder for example.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: 134772f91ec40616d974e61388638495c8a126fb
Component: engine
2015-10-29 11:41:42 -07:00
b276a5731c Do not ignore errors from graphdriver.Put
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: ac4b2905528457d9dba252c1590b9ac143372d0b
Component: engine
2015-10-29 11:25:53 -07:00
8ca5c39620 Add show error when attach to a paused container
Signed-off-by: Lei Jitang <leijitang@huawei.com>
Upstream-commit: de1d611990a80cf4a38ec501469c08c1aeee2d60
Component: engine
2015-10-28 21:00:09 -04:00
b0c9467783 Merge pull request #17437 from LK4D4/put_error
Do not ignore error from driver.Put
Upstream-commit: 0e1618db194388e7fe54332a7e192eb41ad9df89
Component: engine
2015-10-28 17:32:03 -07:00
a0d60ea3e8 Remove unnecessary error returns
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: 990655448dec63ef8add376becb1a20ae184a162
Component: engine
2015-10-28 15:15:22 -07:00
552e02ae16 Do not ignore error from driver.Put
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: bc09eceaf401893275b6ec5508d523ec39357d78
Component: engine
2015-10-28 06:54:09 -07:00
95c227e717 Merge pull request #17364 from mavenugo/advertise
Enhancing --cluster-advertise to support <interface-name>
Upstream-commit: 85ae8b034a5bf9428dbcc7cfd94c55739eaf2862
Component: engine
2015-10-27 13:29:18 -07:00
af90e68a88 Merge pull request #17405 from LK4D4/cont_pointer
Return pointer from newBaseContainer
Upstream-commit: 82f70677b99e7d30c63d40658b36b0c5373cadba
Component: engine
2015-10-27 13:27:10 -07:00
64556fe044 Merge pull request #17406 from LK4D4/ent_and_args_simple
Simplify getEntrypointAndArgs
Upstream-commit: 2b1b7823e61d9d14064708d37a56275ee7385bd2
Component: engine
2015-10-27 13:24:59 -07:00
c7cd2c91a7 Merge pull request #17230 from aboch/ae
Do not update etc/hosts file for every container
Upstream-commit: 194b64951a19ef6254422891cc9ff191ed2567cd
Component: engine
2015-10-27 16:14:44 -04:00
8ad5b6fcfd Enhancing --cluster-advertise to support <interface-name>
--cluster-advertise daemon option is enahanced to support <interface-name>
in addition to <ip-address> in order to amke it  automation friendly using
docker-machine.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
Upstream-commit: 3e7db73b99498d037b43eb59972a6360cfbc971b
Component: engine
2015-10-27 11:03:22 -07:00
33a72eeb51 Simplify getEntrypointAndArgs
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: 5f6d27cebaec3d2e9e72579c91591aea5bcb6966
Component: engine
2015-10-27 09:36:11 -07:00
b9824763f3 Return pointer from newBaseContainer
It makes code more consistent.

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: 6d9bb99c97438edc996e51e13a0aca0feabc5d26
Component: engine
2015-10-27 09:05:28 -07:00
3ad728d9e8 Do not update etc/hosts for every container
- Only user named containers will be published into
  other containers' etc/hosts file.
- Also block linking to containers which are not
  connected to the default network

Signed-off-by: Alessandro Boch <aboch@docker.com>
Upstream-commit: 4f6f00e1916a8c58e67c8118d015988d86718d19
Component: engine
2015-10-26 20:08:57 -07:00
6085efedb0 Fix duplicate container names conflict
While creating multiple containers the second 
container could remove the first one from graph
and not produce an error.

Fixes #15995

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: aee54863741fc3f012c423d1a445d1a6b687966a
Component: engine
2015-10-26 16:57:50 -07:00
533bd1241f Merge pull request #16890 from runcom/perf-boost
rmi and build cache miss performance improvements
Upstream-commit: 56ef47e881359776638903ef1636cb7030ca5eec
Component: engine
2015-10-21 16:00:25 -04:00
f1b2a78ca3 Move volume name validation to the local driver.
Delegate validation tasks to the volume drivers. It's up to them
to decide whether a name is valid or not.
Restrict volume names for the local driver to prevent creating
mount points outside docker's volumes directory.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: d6d60287ee3a8a064340582d65c131181ae77127
Component: engine
2015-10-21 12:28:26 -04:00
58dd738ff1 daemon: faster image cache miss detection
Lookup the graph parent reference to detect a builder cache miss before
looping the whole graph image index to build a parent-children tree.

Signed-off-by: Antonio Murdaca <runcom@redhat.com>
Upstream-commit: f9e81b40f4065e3d0851172759ef58fda6572cce
Component: engine
2015-10-21 17:13:45 +02:00
ab68eef7dd refactor access to daemon member EventsService
Signed-off-by: Morgan Bauer <mbauer@us.ibm.com>
Upstream-commit: 2abf5d986ec6779555ea615763d3ffccede6121a
Component: engine
2015-10-19 09:41:29 -07:00
12d92cfae8 emit a "tag" event when building image with "-t" parameter
This is useful for cluster systems such as swarm to sync the image
state when new images are successfully built.

Signed-off-by: Shijiang Wei <mountkin@gmail.com>
Upstream-commit: 2968fa44eb2a53c121ad2b27c519ae47ca7653c3
Component: engine
2015-10-19 20:09:14 +08:00
a4f5e10d65 Remove trust package
Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
Upstream-commit: cba4bbad4f0e03d782a22f57d653d3109bca0208
Component: engine
2015-10-12 10:51:28 -07:00
deb9d3a7fc Merge pull request #16865 from MHBauer/registry-service-refactor
refactor away direct references to daemon member
Upstream-commit: 6e12d9fe62f201dac221be5064e743f59f9a1953
Component: engine
2015-10-11 21:47:58 +02:00
93c2a19d83 Add user namespace (mapping) support to the Docker engine
Adds support for the daemon to handle user namespace maps as a
per-daemon setting.

Support for handling uid/gid mapping is added to the builder,
archive/unarchive packages and functions, all graphdrivers (except
Windows), and the test suite is updated to handle user namespace daemon
rootgraph changes.

Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
Upstream-commit: 442b45628ee12ebd8e8bd08497896d5fa8eec4bd
Component: engine
2015-10-09 17:47:37 -04:00