Michael Crosby
18ef3cc24a
Remove loopback setup for native driver
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-04-02 13:12:52 +00:00
Victor Vieux
9687c087ab
Merge pull request #4953 from rhatdan/selinux
...
These two patches should fix problems we see with running docker in the wild.
2014-04-02 16:36:41 -07:00
unclejack
30ff3fa954
Merge pull request #4867 from crosbymichael/clean-shutdown
...
Cleanly shutdown docker
2014-04-02 01:48:03 +03:00
Michael Crosby
9cf89f8542
Merge pull request #4942 from vieux/cleanup_dev_libcontainer
...
remove setupDev from libcontainer
2014-04-01 14:28:17 -07:00
Dan Walsh
2224e0d65a
In certain cases, setting the process label will not happen.
...
When the code attempts to set the ProcessLabel, it checks if SELinux Is
enabled. We have seen a case with some of our patches where the code
is fooled by the container to think that SELinux is not enabled. Calling
label.Init before setting up the rest of the container, tells the library that
SELinux is enabled and everything works fine.
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com > (github: rhatdan)
2014-04-01 13:30:10 -04:00
Michael Crosby
283daced0c
Don't send prctl to be consistent with other drivers
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-04-01 07:12:50 +00:00
Michael Crosby
5bb82f6313
Ensure a reliable way to kill ghost containers on reboot
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-04-01 07:11:41 +00:00
Victor Vieux
d52d24dd80
remove setupDev from libcontainer
...
Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com > (github: vieux)
2014-04-01 00:28:44 +00:00
Alexander Larsson
7f7d8419a7
cgroups: Splity out Apply/Cleanup to separate file/interface
...
This leaves only the generic cgroup helper functions in cgroups.go and
will allow easy implementations of other cgroup managers.
This also wires up the call to Cleanup the cgroup which was missing
before.
Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com > (github: alexlarsson)
2014-03-27 21:47:47 +01:00
Michael Crosby
eab56ac007
Merge branch 'master' into pluginflag
...
Conflicts:
pkg/cgroups/cgroups.go
pkg/libcontainer/nsinit/exec.go
pkg/libcontainer/nsinit/init.go
pkg/libcontainer/nsinit/mount.go
runconfig/hostconfig.go
runconfig/parse.go
runtime/execdriver/driver.go
runtime/execdriver/lxc/lxc_template.go
runtime/execdriver/lxc/lxc_template_unit_test.go
runtime/execdriver/native/default_template.go
runtime/execdriver/native/driver.go
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-03-27 08:00:18 +00:00
Dan Walsh
4c43566925
This patch adds SELinux labeling support.
...
docker will run the process(es) within the container with an SELinux label and will label
all of the content within the container with mount label. Any temporary file systems
created within the container need to be mounted with the same mount label.
The user can override the process label by specifying
-Z With a string of space separated options.
-Z "user=unconfined_u role=unconfined_r type=unconfined_t level=s0"
Would cause the process label to run with unconfined_u:unconfined_r:unconfined_t:s0"
By default the processes will run execute within the container as svirt_lxc_net_t.
All of the content in the container as svirt_sandbox_file_t.
The process mcs level is based of the PID of the docker process that is creating the container.
If you run the container in --priv mode, the labeling will be disabled.
Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com > (github: rhatdan)
2014-03-26 15:30:40 -04:00
Michael Crosby
2c58a1e288
Change placement of readonly filesystem
...
We need to change it to read only at the very end so that bound,
copy dev nodes and other ops do not fail.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-03-21 14:17:17 +00:00
Michael Crosby
be5538d8a8
Allow containers to join the net namespace of other conatiners
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-03-21 00:48:17 +00:00
Michael Crosby
1bedae9107
Merge branch 'proppy-nsinit' into pluginflag
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-03-21 00:36:23 +00:00
Michael Crosby
70f3b9f4ce
Add ability to work with individual namespaces
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-03-21 00:23:34 +00:00
Michael Crosby
443a75d5f6
Allow caps to be toggled in native driver with plugin flag
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-03-21 00:10:24 +00:00
Michael Crosby
c5f9c4bd69
Dont use custom marshaling for caps and namespaces
...
This also adds an enabled field to the types so that they
can be easily toggled.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-03-20 23:09:01 +00:00
Johan Euphrosine
5dbfe310fe
libcontainer: remove duplicate imports
...
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com > (github: proppy)
2014-03-18 16:25:26 -07:00
Johan Euphrosine
f58757a699
libcontainer: goimports
...
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com > (github: proppy)
2014-03-18 16:18:34 -07:00
Johan Euphrosine
b10b950b11
libcontainer/nsinit/init: move mount namespace after network
...
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com > (github: proppy)
2014-03-18 16:18:04 -07:00
Johan Euphrosine
f52b2fdcbb
libcontainer/network: add netns strategy
...
Docker-DCO-1.1-Signed-off-by: Johan Euphrosine <proppy@google.com > (github: proppy)
2014-03-18 16:17:28 -07:00
Michael Crosby
4b1513f9c3
Only unshare the mount namespace for execin
...
Fixes #4728
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-03-17 18:52:56 -07:00
Timothy Hobbs
353df19ab7
Fix issue #4681 - No loopback interface within container when networking is disabled.
...
Docker-DCO-1.1-Signed-off-by: Timothy Hobbs <timothyhobbs@seznam.cz > (github: https://github.com/timthelion )
Remove loopback code from veth strategy
Docker-DCO-1.1-Signed-off-by: Timothy Hobbs <timothyhobbs@seznam.cz > (github: https://github.com/timthelion )
Looback strategy: Get rid of uneeded code in Create
Docker-DCO-1.1-Signed-off-by: Timothy Hobbs <timothyhobbs@seznam.cz > (github: https://github.com/timthelion )
Use append when building network strategy list
Docker-DCO-1.1-Signed-off-by: Timothy Hobbs <timothyhobbs@seznam.cz > (github: https://github.com/timthelion )
Swap loopback and veth strategies in Networks list
Docker-DCO-1.1-Signed-off-by: Timothy Hobbs <timothyhobbs@seznam.cz > (github: https://github.com/timthelion )
Revert "Swap loopback and veth strategies in Networks list"
This reverts commit 3b8b2c8454171d79bed5e9a80165172617e92fc7.
Docker-DCO-1.1-Signed-off-by: Timothy Hobbs <timothyhobbs@seznam.cz > (github: https://github.com/timthelion )
When initializing networks, only return from the loop if there is an error
Docker-DCO-1.1-Signed-off-by: Timothy Hobbs <timothyhobbs@seznam.cz > (github: https://github.com/timthelion )
2014-03-17 22:01:24 +01:00
Guillaume J. Charmes
597e0812fb
Merge pull request #4645 from crosbymichael/add-logger
...
Add logger to libcontainer
2014-03-17 11:30:14 -07:00
Brandon Philips
ad7e7d6123
chore(libcontainer): small grammar fix in types_test
...
Someone probably got really used to typing er on the end of contain :)
Docker-DCO-1.1-Signed-off-by: Brandon Philips <brandon.philips@coreos.com > (github: philips)
2014-03-17 11:07:29 -07:00
Brandon Philips
128381e0f0
refactor(libcontainer): rename to CapabilitiesMask
...
The Capabilities field on libcontainer is actually used as a mask.
Rename the field so that this is more clear.
Docker-DCO-1.1-Signed-off-by: Brandon Philips <brandon.philips@coreos.com > (github: philips)
2014-03-17 11:07:12 -07:00
Michael Crosby
39037a91f8
Send sigterm to child instead of sigkill
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-03-14 15:42:05 -07:00
Michael Crosby
0e863a584a
Add stderr log ouput if in debug
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-03-14 09:55:05 -07:00
Michael Crosby
7294392c72
Add initial logging to libcontainer
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-03-14 09:55:05 -07:00
Michael Crosby
cbd2a30cd6
Update libcontainer readme and todo list
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-03-13 15:18:08 -07:00
Michael Crosby
28994f86ee
Merge pull request #4656 from crosbymichael/fix-ptmx-link
...
Always symlink /dev/ptmx for libcontainer
2014-03-13 14:57:17 -07:00
Guillaume J. Charmes
c7ea6e5da8
Merge pull request #4422 from alexlarsson/internal-mounts
...
Move all bind-mounts in the container inside the namespace
2014-03-13 14:55:29 -07:00
Michael Crosby
747275d30c
Always symlink /dev/ptmx for libcontainer
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-03-13 14:31:09 -07:00
Alexander Larsson
6c266c4b42
Move all bind-mounts in the container inside the namespace
...
This moves the bind mounts like /.dockerinit, /etc/hostname, volumes,
etc into the container namespace, by setting them up using lxc.
This is useful to avoid littering the global namespace with a lot of
mounts that are internal to each container and are not generally
needed on the outside. In particular, it seems that having a lot of
mounts is problematic wrt scaling to a lot of containers on systems
where the root filesystem is mounted --rshared.
Note that the "private" option is only supported by the native driver, as
lxc doesn't support setting this. This is not a huge problem, but it does
mean that some mounts are unnecessarily shared inside the container if you're
using the lxc driver.
Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com > (github: alexlarsson)
2014-03-13 20:01:29 +01:00
Guillaume J. Charmes
6a325f1c7a
Fix issue when /etc/apparmor.d does not exists
...
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net > (github: creack)
2014-03-12 11:13:24 -07:00
Guillaume J. Charmes
915d967f55
Update email + add self to pkg/signal
...
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net > (github: creack)
2014-03-10 20:26:45 -07:00
srid
03211ecce0
nsinit: prefix errors with their source
...
Docker-DCO-1.1-Signed-off-by: Sridhar Ratnakumar <github@srid.name > (github: srid)
2014-03-10 17:08:50 -07:00
Michael Crosby
36dd124b16
Add env var to toggle pivot root or ms_move
...
Use the DOCKER_RAMDISK env var to tell the native driver not to use
a pivot root when setting up the rootfs of a container.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-03-06 19:30:52 -08:00
Michael Crosby
c38635020a
Revert "Revert "libcontainer: Use pivot_root instead of chroot""
...
This reverts commit 82f797f140 .
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-03-06 17:19:59 -08:00
Michael Crosby
557e4fef44
Revert "Revert "libcontainer: Use MS_PRIVATE instead of MS_SLAVE""
...
This reverts commit bd263f5b15 .
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-03-06 17:19:47 -08:00
unclejack
78dc1ede52
Merge pull request #4512 from crosbymichael/no-pivot-root
...
No pivot root because of ramdisk
2014-03-07 02:54:03 +02:00
Michael Crosby
bd263f5b15
Revert "libcontainer: Use MS_PRIVATE instead of MS_SLAVE"
...
This reverts commit 757b577572 .
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-03-06 16:41:03 -08:00
Michael Crosby
82f797f140
Revert "libcontainer: Use pivot_root instead of chroot"
...
This reverts commit 5b5c884cc8 .
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-03-06 16:32:06 -08:00
Michael Crosby
ea9bce8724
Ensure that native containers die with the parent
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-03-06 16:30:56 -08:00
Michael Crosby
772ef99d28
Remove the ghosts and kill everything
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-03-06 15:30:26 -08:00
Guillaume J. Charmes
b722aa21b7
Merge pull request #4506 from creack/fix_apparmor
...
Use CGO for apparmor profile switch
2014-03-06 13:37:34 -08:00
Tianon Gravi
0b23393ba1
Update build tags such that we can properly compile on all platforms (especially for packagers), and updated hack/PACKAGERS.md to mention the DOCKER_BUILDTAGS variable that will need to be set for binaries that might be used on AppArmor (such as Debian and especially Ubuntu)
...
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com > (github: tianon)
2014-03-06 13:39:17 -07:00
Guillaume J. Charmes
c89fa6645e
Add buildflags to allow crosscompilation for apparmor
...
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume.charmes@docker.com > (github: creack)
2014-03-06 12:05:03 -08:00
Guillaume J. Charmes
31f62b934b
Merge pull request #4503 from unclejack/attempt_to_fix_apparmor_profile
...
remove dbus from apparmor profile for Ubuntu 12.04
2014-03-06 11:20:06 -08:00
Guillaume J. Charmes
f0f833c6d7
Use CGO for apparmor profile switch
...
Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume.charmes@docker.com > (github: creack)
2014-03-06 11:10:58 -08:00