Michael Crosby
44b79ef817
Export SetupUser
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-04-30 15:27:59 -07:00
Michael Crosby
30da95051a
Remove logger from nsinit struct
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-04-30 15:24:18 -07:00
Guillaume J. Charmes
3ceb5e32c5
Merge pull request #5448 from crosbymichael/selinux-defaults
...
Add selinux label support for processes and mount
2014-04-30 14:14:39 -07:00
Michael Crosby
d8554248b0
Merge pull request #5464 from tianon/close-leftover-fds
2014-04-30 12:27:52 -07:00
Tianon Gravi
187b637515
Close extraneous file descriptors in containers
...
Without this patch, containers inherit the open file descriptors of the daemon, so my "exec 42>&2" allows us to "echo >&42 some nasty error with some bad advice" directly into the daemon log. :)
Also, "hack/dind" was already doing this due to issues caused by the inheritance, so I'm removing that hack too since this patch obsoletes it by generalizing it for all containers.
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com > (github: tianon)
2014-04-29 16:45:28 -06:00
Michael Crosby
71bac2ca67
Initial work on selinux patch
...
This has every container using the docker daemon's pid for the processes
label so it does not work correctly.
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-04-29 03:40:05 -07:00
Victor Vieux
d5951041df
Merge pull request #5449 from tianon/remove-libcontainer-root-special-case
...
Remove "root" and "" special cases in libcontainer
2014-04-28 16:29:08 -07:00
Rohit Jnagal
eb9c9cabcb
Merge branch 'master' into libcontainer-fixes
...
Conflicts:
pkg/libcontainer/README.md
pkg/libcontainer/container.json
Docker-DCO-1.1-Signed-off-by: Rohit Jnagal <jnagal@google.com > (github: rjnagal)
2014-04-28 23:04:04 +00:00
Tianon Gravi
a2efe18fb8
Remove "root" and "" special cases in libcontainer
...
These are unnecessary since the user package handles these cases properly already (as evidenced by the LXC backend not having these special cases).
I also updated the errors returned to match the other libcontainer error messages in this same file.
Also, switching from Setresuid to Setuid directly isn't a problem, because the "setuid" system call will automatically do that if our own effective UID is root currently: (from `man 2 setuid`)
setuid() sets the effective user ID of the calling process. If the
effective UID of the caller is root, the real UID and saved set-user-
ID are also set.
Docker-DCO-1.1-Signed-off-by: Andrew Page <admwiggin@gmail.com > (github: tianon)
2014-04-28 16:46:03 -06:00
Rohit Jnagal
8593067f40
Fix typos in nsinit logs.
...
Docker-DCO-1.1-Signed-off-by: Rohit Jnagal <jnagal@google.com > (github: rjnagal)
2014-04-25 00:20:14 +00:00
Michael Crosby
1cac3510ce
Update init for new apparmor import path
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-04-24 10:35:20 -07:00
Michael Crosby
39efc20b0f
Move capabilities into security pkg
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-04-24 10:35:20 -07:00
Michael Crosby
d4ea33bf43
Move rest of console functions to pkg
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-04-24 10:35:20 -07:00
Michael Crosby
9cb39c7274
Refactor mounts into pkg to make changes easier
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-04-24 10:35:20 -07:00
Michael Crosby
b589e619aa
Move console into its own package
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-04-24 10:35:20 -07:00
Michael Crosby
772023089b
Mount over dev and only copy allowed nodes in
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-04-24 10:35:20 -07:00
Michael Crosby
d001be23ca
No not mount sysfs by default for non privilged containers
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-04-24 10:35:20 -07:00
Michael Crosby
4d2d63546b
Add restrictions to proc in libcontainer
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-04-24 10:35:19 -07:00
Michael Crosby
2ded58e3da
Move apparmor into security sub dir
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-04-24 10:35:19 -07:00
Guillaume J. Charmes
a10479fef7
Merge pull request #5328 from crosbymichael/refactor-cgroups
...
Refactor cgroups into subsystems and support metrics
2014-04-21 14:06:17 -07:00
Michael Crosby
ad442c6e36
Move raw cgroups into fs package (filesystem)
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-04-18 21:34:26 -07:00
Michael Crosby
21d9b9a86a
Move systemd code into pkg
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-04-18 21:30:08 -07:00
Michael Crosby
956cdea49f
Refactor cgroups file locations
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-04-18 21:14:58 -07:00
Michael Crosby
613c48e3dd
Move apparmor to top level pkg
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-04-13 23:33:25 +00:00
Michael Crosby
c4222aca03
Change shm mode to 1777
...
Fixes #5126
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-04-09 10:53:32 +00:00
Michael Crosby
471098f7cc
Ensure that ro mounts are remounted
...
Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com > (github: crosbymichael)
2014-04-07 18:23:22 -07:00
Michael Crosby
89db8365b8
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
23f80b4d97
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
b115316925
Merge pull request #4867 from crosbymichael/clean-shutdown
...
Cleanly shutdown docker
2014-04-02 01:48:03 +03:00
Michael Crosby
990c5638a3
Merge pull request #4942 from vieux/cleanup_dev_libcontainer
...
remove setupDev from libcontainer
2014-04-01 14:28:17 -07:00
Dan Walsh
30815cf423
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
69df6c423e
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
1716cbe806
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
f99f51db37
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
949877915f
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
4619830a18
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
5e030fd065
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
955fd11774
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
e8b9d25d45
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
6c31dce9cc
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
Johan Euphrosine
4f9ec8c4f5
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
7ededd2da9
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
3571701b64
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
Michael Crosby
e6ecb9032a
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
c549d6b643
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
7e4ea4ddff
Merge pull request #4645 from crosbymichael/add-logger
...
Add logger to libcontainer
2014-03-17 11:30:14 -07:00
Michael Crosby
d20dc11cbe
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
6e979d36f4
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
7698e6bbc8
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
d083dad06a
Merge pull request #4656 from crosbymichael/fix-ptmx-link
...
Always symlink /dev/ptmx for libcontainer
2014-03-13 14:57:17 -07:00