Commit Graph

200 Commits

Author SHA1 Message Date
9709821e24 Merge pull request #10527 from mfojtik/lxc_11
Fix lxc-start in lxc>1.1.0 where containers start daemonized by default
Upstream-commit: 22dba32b4dab6cec7b7a2d6dffa94a5fe713c2d3
Component: engine
2015-03-24 17:37:27 -07:00
08138d304c Mkdir for lxc root dir before setup of symlink
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 246cab90f216e68c25178ffd19756ab864b809d0
Component: engine
2015-03-24 15:53:23 -07:00
d5ac91b394 Merge pull request #11716 from LK4D4/root_in_run
Use /var/run/docker as root for execdriver
Upstream-commit: f3fc857e018dc919fddfea645b8308379343cb4e
Component: engine
2015-03-24 14:58:30 -07:00
a6001c7df9 Use /var/run/docker as root for execdriver
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: 1e788ec9855058913de6ac8a2be7acee0f001954
Component: engine
2015-03-24 10:47:30 -07:00
ca334b9a3a We want to allow the sharing of /dev from the host into the
container.

docker run -v /dev:/dev should stop mounting other default mounts in i
libcontainer otherwise directories and devices like /dev/ptx get mishandled.

We want to be able to run libvirtd for launching vms and it needs
access to the hosts /dev.  This is a key componant of OpenStack.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
Upstream-commit: fe9fe1473cc54c4d2962391d6fa05ecc1c2c96f1
Component: engine
2015-03-20 08:56:21 -04:00
4137db45c7 Merge pull request #11507 from crosbymichael/container-state
Cleanup libcontainer container state
Upstream-commit: 5a239c0022212d657313bc8d15af3b835dedbda1
Component: engine
2015-03-19 16:02:24 -07:00
a5bb86caaa Merge pull request #11428 from vishh/parent-cgroup
Adding '--cgroup-parent' option.
Upstream-commit: 455a272aef4e109ce57c20f9ea224e4d4b32ece7
Component: engine
2015-03-19 14:41:57 -07:00
ec306144db Mount libcontainer state dir in tmpfs
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 2b12b099b8c60f02142ab8ece68987a8fba00292
Component: engine
2015-03-19 14:27:17 -07:00
cb0e64d97b Ensure the container state is removed on daemon boot
This ensures that the libcontainer state is fully removed for a
container after it is terminated.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 06c939e5279eb62b9088202a27d02d67c1cba6a5
Component: engine
2015-03-19 14:21:19 -07:00
67dd189d62 Update libcontainer to 4a72e540feb67091156b907c4700e580a99f5a9d
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
Upstream-commit: 60ef4ae6fcb015546a646eb3b613344a9c4fc27b
Component: engine
2015-03-19 14:42:23 -04:00
825ed262fe Fix lxc-start in lxc>1.1.0 where containers start daemonized by default
Signed-off-by: Michal Fojtik <mfojtik@redhat.com>
Upstream-commit: d62f25e4220d1d1ca792adf9c7423ee60a00c0d7
Component: engine
2015-03-19 14:51:05 +01:00
1f50057df8 Adding '--cgroup-parent' flag to docker run. This feature helps users implement more complex
resource isolation policies on top of what native docker provides.

Docker-DCO-1.1-Signed-off-by: Vishnu Kannan <vishnuk@google.com> (github: vishh)
Upstream-commit: 0b1e2b5a553565e99afd7ceda36beab098f506d0
Component: engine
2015-03-19 02:34:15 +00:00
dc45397f85 Do not mask /proc/kcore in privileged
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: f4a458e67f9cedae9167cc70d15fd8bbe942f880
Component: engine
2015-03-18 14:17:21 -07:00
b6b5f87d20 Don't hardcode default rlimit
The default for rlimit handling should be to inherit the rlimit of the
daemon unless explicitly set.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: f5a154f2d2b2bea5054ae35314d15021a8bf8ae4
Component: engine
2015-03-17 16:04:15 -07:00
9596e6f457 Merge pull request #11353 from mrunalp/override_default_mounts
Filter out default mounts that are being overriden by the user.
Upstream-commit: 87a8658eb625d25d4d72bf65efc5629be4c99d40
Component: engine
2015-03-16 16:40:32 -07:00
9b00b0ac0c Filter out default mounts that are override by user.
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
Upstream-commit: 7804cd36eec45c184dcabdbcb52033c1c0179c03
Component: engine
2015-03-16 18:39:50 -04:00
bd0b1983fb Merge pull request #11343 from hqhq/hq_fix_panic_error
fix panic error when docker stats a stopped container
Upstream-commit: a2fcae41efdc52087d733d962b9ee3ef37a81450
Component: engine
2015-03-16 15:16:03 -07:00
00d90da424 Merge pull request #11295 from LK4D4/oom_after_dead
Check oom status after container stopped in lxc driver
Upstream-commit: 0c2eb5ebfb118e1fcab84a8eb70dc8aee5a618ad
Component: engine
2015-03-16 14:16:47 -07:00
45269e9133 fix panic error when docker stats a stopped container
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
Upstream-commit: 8dc5791f7302aea0734a26dc1f54d96b04771b8f
Component: engine
2015-03-16 19:55:34 +08:00
b3678f8418 Merge pull request #11076 from hqhq/hq_use_warning_in_sysinfo
use type WARN for warning
Upstream-commit: 82f390e139e611b97911c19dd1be2a98264cf4b9
Component: engine
2015-03-15 21:13:23 -07:00
71f67ca560 move resources from Config to HostConfig
Cgroup resources are host dependent, they should be in hostConfig.

For backward compatibility, we just copy it to hostConfig, and leave it in
Config for now, so there is no regressions, but the right way to use this
throught json is to put it in HostConfig, like:
  {
      "Hostname": "",
      ...
      "HostConfig": {
	  "CpuShares": 512,
          "Memory": 314572800,
          ...
      }
  }

As we will add CpusetMems, CpusetCpus is definitely a better name, but some
users are already using Cpuset in their http APIs, we also make it compatible.

The main idea is keep using Cpuset in Config Struct, and make it has the same
value as CpusetCpus, but not always, some scenarios:
 - Users use --cpuset in docker command, it can setup cpuset.cpus and can
   get Cpuset field from docker inspect or other http API which will get
   config info.
 - Users use --cpuset-cpus in docker command, ditto.
 - Users use Cpuset field in their http APIs, ditto.
 - Users use CpusetCpus field in their http APIs, they won't get Cpuset field
   in Config info, because by then, they should already know what happens
   to Cpuset.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
Upstream-commit: 837eec064d2d40a4d86acbc6f47fada8263e0d4c
Component: engine
2015-03-11 09:31:18 +08:00
ad6ee8ec46 fix warning messages
Use log.Warnf instead of log.Infof, and remove redundant `WARNING` prefix.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
Upstream-commit: bffe04b582d143f074297b260a359dfb54a7763b
Component: engine
2015-03-11 08:47:45 +08:00
0fc847b6d1 Check oom status after container stopped in lxc driver
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: d59212e6056da0ae4434882c3048f9b8c0c27518
Component: engine
2015-03-10 13:45:13 -07:00
393b1a4214 Setup user groups in lxc driver
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: 821ec8334fd4ff3500b4e2d2338f3cc8935e17bd
Component: engine
2015-03-10 09:43:11 -07:00
f2f7f591d4 Use CgroupString instead of missing GetCgroupAllowString in lxc_template
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: c8c11bfc363363fcc26da5868292544cbabea320
Component: engine
2015-03-10 08:50:03 -07:00
02ceac919e Merge pull request #11208 from LK4D4/new_libcontainer_api
New libcontainer api
Upstream-commit: 2fb89b2e2ca1043abf8d4c02532ce42135efe6f6
Component: engine
2015-03-10 07:50:19 -07:00
5506a9a27c Remove subdirectories MAINTAINERS files
Signed-off-by: Arnaud Porterie <arnaud.porterie@docker.com>
Upstream-commit: 89bdaa35e04b74b7c6528783e0f7b8154b2a3d31
Component: engine
2015-03-06 18:21:51 -08:00
3b04936e06 Execdriver implementation on new libcontainer API
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: 68ba5f0b69c9f383269fb5bc2c78798b312e98cc
Component: engine
2015-03-06 14:46:58 -08:00
2e0ec2c817 Allow setting ulimits for containers
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
Upstream-commit: 3f39050637d454e9ee8075153a917c8bfccb5bae
Component: engine
2015-02-25 19:37:43 -05:00
afb7a8b8ef Restored removed docker init options
Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
Upstream-commit: 3bd3f7854ad87420cc8779f8f44356775ae4f878
Component: engine
2015-02-24 16:59:04 +00:00
848426a114 Implements stats for lxc driver
Implements stats and fixes stats test.

Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
Upstream-commit: 1a26ed09ee6199341297f5e5ef8c5ed30efb6596
Component: engine
2015-02-23 10:16:52 +00:00
79286179ed Fix possible panic on killing container
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: e995670935118ad7ff485aee7fd3d4767e4c3e29
Component: engine
2015-02-18 11:27:38 -08:00
ac1fc1f916 Fixes apparmor regression
Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
Docker-DCO-1.1-Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
Upstream-commit: 9c744cb454f7d912ae1dd6215caf550a25929944
Component: engine
2015-01-22 07:06:46 +00:00
3d77110890 Adds ipc namespace capability to lxc, and fixes tests.
This fixes various tests by checking for non zero exit code, accounting for lxc-specific base-diffs, and by removing lxc specific environment vars.
It also adds the --share-ipc option to lxc-start for shared ipc namespaces.
Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
Docker-DCO-1.1-Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
Upstream-commit: 3ca5af6b1ab6d1b75e014265e1ad4f5e45960826
Component: engine
2015-01-21 06:08:00 +00:00
debfc19162 Refactor usage calc for CPU and system usage
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 2d4fc1de0560c8052b4480035bb364fb28525b39
Component: engine
2015-01-20 20:21:46 -08:00
2dcbad59cf Evict stopped containers
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 4f174aa79276c12a1b2b98df2f02d6bee36b7a93
Component: engine
2015-01-20 20:21:46 -08:00
03d1b8dbe7 Implement client side display for stats
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 2640a10bca29c4a4199c906a26f658aac8a68dc2
Component: engine
2015-01-20 20:21:46 -08:00
947efff180 Implement container stats collection in daemon
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 65f58e2a742205c9e8470b360bd439642a5c8211
Component: engine
2015-01-20 20:21:46 -08:00
fb6083d3f6 use lxc.auto.mount to ensure proc and sys are readonly
Set lxc.auto.mount = proc:mixed in unprivilged mode. This ensures that lxc mounts sys and proc/sysrq-trigger as readonly.
Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
Docker-DCO-1.1-Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
Upstream-commit: d821c63e0d5fe2abe10ff885de6298acc4db956e
Component: engine
2015-01-18 09:27:16 +00:00
807f07b041 SEND CAPABILITY IDS TO LXC
Sending capability ids instead of capability names ot LXC for --cap-add and --cap-drop.
Also fixed tests.

Docker-DCO-1.1-Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
Upstream-commit: bff3509e431ce6d68e2accbb842c99d4abe86e05
Component: engine
2015-01-17 04:01:52 +00:00
2a3eb3ae39 Merge pull request #10093 from crosbymichael/readonly-containers
Add --read-only for read only container rootfs
Upstream-commit: 95c0f07966035ce79c6b51a2eee8c60c59fb523c
Component: engine
2015-01-14 15:56:51 -08:00
2ef8faf6e3 Add --readonly for read only container rootfs
Add a --readonly flag to allow the container's root filesystem to be
mounted as readonly.  This can be used in combination with volumes to
force a container's process to only write to locations that will be
persisted.  This is useful in many cases where the admin controls where
they would like developers to write files and error on any other
locations.

Closes #7923
Closes #8752

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 409407091a7282d0c4086b71e86397e2d089ba13
Component: engine
2015-01-14 15:41:31 -08:00
2c43314302 Calming vet about type aliases from other package
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: 5ce60217f1ba07015af72978e715a08259e2efc1
Component: engine
2015-01-14 14:01:36 -08:00
458ae31cfd Allow the container to share the PID namespace with the host
We want to be able to use container without the PID namespace.  We basically
want containers that can manage the host os, which I call Super Privileged
Containers.  We eventually would like to get to the point where the only
namespace we use is the MNT namespace to bring the Apps userspace with it.

By eliminating the PID namespace we can get better communication between the
host and the clients and potentially tools like strace and gdb become easier
to use.  We also see tools like libvirtd running within a container telling
systemd to place a VM in a particular cgroup, we need to have communications of the PID.

I don't see us needing to share PID namespaces between containers, since this
is really what docker exec does.

So currently I see us just needing docker run --pid=host

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
Upstream-commit: 23feaaa240853c0e7f9817f8c2d272dd1c93ac3f
Component: engine
2015-01-13 16:35:17 -08:00
c0b5b7e2d2 Update lxc with libcontainer SetupUser change
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
Upstream-commit: 582a79f00a1d87ba0debd8f3785d867c02451e5f
Component: engine
2015-01-12 10:43:33 -08:00
146962fdd3 Adding IPv6 network support to docker
Signed-off-by: Malte Janduda <mail@janduda.net>
Upstream-commit: 813ff7f19d6a097f39dae363d8dd81b70eee515a
Component: engine
2015-01-09 00:13:09 +01:00
fe2658d089 LXC TEMPLATE ALLOWS IPV4 OVERRIDE
This fixes the issue where an lxc.conf override of lxc.network.ipv4 was not being honored.

Docker-DCO-1.1-Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
Upstream-commit: f91650376a8e8af883790aa777e6ec9185aff461
Component: engine
2014-12-25 20:06:59 +00:00
c77458bef6 Update libcontainer to 1597c68f7b941fd97881155d7f077852e2914e7b
This commit contains changes for docker:
* user.GetGroupFile to user.GetGroupPath docker/libcontainer#301
* Add systemd support for OOM docker/libcontainer#307
* Support for custom namespaces docker/libcontainer#279, docker/libcontainer#312
* Fixes #9699 docker/libcontainer#308

Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: 50905a6d6ce2fdd1ab0c33ec0b7a26895e0cbeea
Component: engine
2014-12-23 12:10:03 -08:00
7886e44221 Fix vet errors about unkeyed fields
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: e7d086c2be41dfedfa5f2fb0c437eb5bbf6f2f5d
Component: engine
2014-12-12 10:44:59 -08:00
84a6c7d576 LXC CAP ADD CAP DROP IN TEMPLATE
Added cap-drop and cap-add in lxc template
Docker-DCO-1.1-Signed-off-by: Abin Shahab <ashahab@altiscale.com> (github: ashahab-altiscale)
Upstream-commit: fdf745768350d2068aecd34734b38a2c27810132
Component: engine
2014-12-05 23:08:22 +00:00