Commit Graph
65 Commits
Author SHA1 Message Date
Antonio Murdaca e9bd508682 bump libcontainer to 902c012e85cdae6bb68d8c7a0df69a42f818ce96
Signed-off-by: Antonio Murdaca <amurdaca@redhat.com>
Upstream-commit: 753901343624f15264b46fe9ade01cf451be99f1
Component: engine
2015-10-06 17:55:09 +02:00
qhuang 4f3fe3187a Add support for memory reservation
Signed-off-by: qhuang <qhuang@10.0.2.15>
Upstream-commit: aa1780997f42a3fbe3a7f9c7be2b8a5092b9b7c1
Component: engine
2015-09-23 14:02:45 +08:00
Tim Hockin 655513db24 Add support for DNS options
Signed-off-by: Tim Hockin <thockin@google.com>
Upstream-commit: 3d4685e258a7729bd0f8cc411b5a73980a9faa20
Component: engine
2015-09-16 14:06:45 -07:00
David Calavera 350911ed1c Move VolumeDriver to HostConfig to make containers portable.
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 6549d6517bf9a7c79d21a86cbf36af10fcdbfbe0
Component: engine
2015-09-04 12:42:44 -04:00
Antonio Murdaca b67d02c383 Use StrSlice from pkg/stringutils
Signed-off-by: Antonio Murdaca <runcom@linux.com>
Upstream-commit: 17999c70c39e14a474e69ce10de05a66258e2a5b
Component: engine
2015-09-01 21:23:46 +02:00
Brian Goff 83ec490c79 Merge pull request #15348 from tonistiigi/11008-always-unless-stopped-restart-policy
Add always-unless-stopped restart policy
Upstream-commit: fd8b25c802780683cc5776e6d3aaca9536e7370b
Component: engine
2015-08-24 13:48:56 -04:00
Qiang Huang 3004521c7f Add support for kernel memory limit
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
Upstream-commit: b6f1b4ad350cbf1f540797eee44520694237d47c
Component: engine
2015-08-19 23:56:55 +08:00
Tonis Tiigi 2bf42179ec Add unless-stopped restart policy
Fixes #11008

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Upstream-commit: 10305dc5e8cc7e2e1560ce2abe93c17e923a1c47
Component: engine
2015-08-18 11:39:06 -07:00
John Howard da7258ee55 Move netmode validation to server
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: f6ed590596cbf73764b40ff4f32f90b1cdb8b213
Component: engine
2015-08-14 12:17:41 -07:00
David Calavera 5db6cfa390 Add MemorySwappiness comment back.
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: f41f62b6cc70a6afa533d11804d59d8bf5218ed8
Component: engine
2015-07-29 16:41:46 -07:00
David Calavera 10b5ce2263 Use *int64 for MemorySwappiness.
So we marshal/unmarshal its value properly when it's empty.

Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 4e25d2982b3af25bf55b8bc788d4604f7b539ea4
Component: engine
2015-07-29 14:14:04 -07:00
Vincent Demeester b61648e148 Lint fixes on runconfig
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Upstream-commit: 5170a2c096ff64d4bfbe0fab296ec6777c412bc3
Component: engine
2015-07-27 21:23:15 +02:00
Mrunal Patel b0da7fa04d Adds support for specifying additional groups.
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
Upstream-commit: e0d96fb3ef562103690529c34140d04604599497
Component: engine
2015-07-13 14:47:28 -04:00
Raghavendra K T 11e2c4a554 Add the memory swappiness tuning option to docker.
Memory swappiness option takes 0-100, and helps to tune swappiness
behavior per container.
For example, When a lower value of swappiness is chosen
the container will see minimum major faults. When no value is
specified for memory-swappiness in docker UI, it is inherited from
parent cgroup. (generally 60 unless it is changed).

Signed-off-by: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
Upstream-commit: 921da495d24695dda66d3f58e78887dd0bc2402e
Component: engine
2015-07-12 13:16:33 +05:30
John Howard c3450bd95b Windows: Exec driver
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: 9ae9d4c87af8b04eb80006aca9f760ffdb1052bb
Component: engine
2015-07-10 13:36:56 -07:00
Antonio Murdaca 4d0125faee Fix regression in parsing capabilities list when a single string is given
Signed-off-by: Antonio Murdaca <runcom@linux.com>
Upstream-commit: 10a3061c5f342477703e96d9b8b2e877d9cdddf5
Component: engine
2015-07-01 21:28:02 +02:00
Peter Waller 9161e24479 Move /nat to /pkg/nat
By convention /pkg is safe to use from outside the docker tree, for example
if you're building a docker orchestrator.

/nat currently doesn't have any dependencies outside of /pkg, so it seems
reasonable to move it there.

This rename was performed with:

```
gomvpkg -vcs_mv_cmd="git mv {{.Src}} {{.Dst}}" \
	-from github.com/docker/docker/nat \
        -to   github.com/docker/docker/pkg/nat

```

Signed-off-by: Peter Waller <p@pwaller.net>
Upstream-commit: 9c2374d19623581028f070bc93fa4c60a660dce4
Component: engine
2015-06-30 17:43:17 +01:00
John Howard 0a2b0f80c4 Windows: Refactor network modes
Signed-off-by: John Howard <jhoward@microsoft.com>
Upstream-commit: c5e6a4b307d93c066c07b7664ffc676708b42391
Component: engine
2015-06-29 13:13:55 -07:00
David Calavera c903006e39 Merge pull request #14023 from mavenugo/net_ui
experimental network ui
Upstream-commit: df73d5e0cda8cbcbb938b72b83c39a7222643dce
Component: engine
2015-06-19 09:26:05 -07:00
Madhu Venugopal 4c8d2626b0 register libnetwork API and UI with docker parent chain
This commit also brings in the ability to specify a default network and its
corresponding driver as daemon flags. This helps in existing clients to
make use of newer networking features provided by libnetwork.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
Upstream-commit: da5a3e6dee80f1f5d4059851e4762ffb0484f7e9
Component: engine
2015-06-18 12:07:58 -07:00
Srini Brahmaroutu 109d836db0 Decoder does not work properly with nested pointers using gcc
Signed-off-by: Srini Brahmaroutu <srbrahma@us.ibm.com>
Upstream-commit: eb97de7dee5f36e6b6a710a0def245c11cb4cba5
Component: engine
2015-06-11 16:45:54 +00:00
Jana Radhakrishnan 13426de5e6 Docker integration with libnetwork
- Updated Dockerfile to satisfy libnetwork GOPATH requirements.
    - Reworked daemon to allocate network resources using libnetwork.
    - Reworked remove link code to also update network resources in libnetwork.
    - Adjusted the exec driver command population to reflect libnetwork design.
    - Adjusted the exec driver create command steps.
    - Updated a few test cases to reflect the change in design.
    - Removed the dns setup code from docker as resolv.conf is entirely managed
      in libnetwork.
    - Integrated with lxc exec driver.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
Upstream-commit: d18919e304c240df84502cdcc5ed655d92d12d4f
Component: engine
2015-05-19 22:40:19 +00:00
Antonio Murdaca 0dbe0e42c5 Add RestartPolicy methods instead of using strings checking
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
Upstream-commit: 624bf81fdb980638c422d746bfb82623e9d8bbd1
Component: engine
2015-05-16 14:15:28 +02:00
Darren Shepherd dc9bbf77b5 Add --uts=host to allow sharing the UTS namespace
Signed-off-by: Darren Shepherd <darren@rancher.com>
Upstream-commit: f2e5207fc989288ad136d48222df8e7754eb0e9b
Component: engine
2015-05-13 17:56:32 -07:00
Ma Shimiao 560ba9b809 add cpu.cfs_period_us support
Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com>
Upstream-commit: dccb8b5c339e218222bae4ce74bbeccb9e020c82
Component: engine
2015-05-09 10:02:46 +08:00
Jessie Frazelle 92cec4b2c1 Merge pull request #11516 from coolljt0725/add_show_error_set_some_flag_in_container_netmode
add support --net=container with --mac-address, --add-host error out
Upstream-commit: 6b6a26c7697978bf7d43fec11d14ef6ee7e3e4d6
Component: engine
2015-05-07 17:13:32 -07:00
Qiang Huang 4f3515319b add blkio.weight support
We can use this to control block IO weight of a container.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
Upstream-commit: f133f11a7d25e6262558dd733afaa95ddd1c7aee
Component: engine
2015-05-07 11:55:58 +08:00
Lei Jitang 49e7e90010 Add support --net=container with --mac-address,--add-host error out
Signed-off-by: Lei Jitang <leijitang@huawei.com>
Upstream-commit: 0e08e9aca14a4ca7142fa4649983302d93b55dab
Component: engine
2015-05-05 19:28:40 +08:00
HuKeping ad3d66108b Feature: option for disable OOM killer
Add cgroup support for disable OOM killer.

Signed-off-by: Hu Keping <hukeping@huawei.com>
Upstream-commit: a4a924e1b6c50f0f02460489259d73468a6c282e
Component: engine
2015-05-04 21:11:29 +08:00
Lei Jitang f8f4bcdb38 Add support cpu cfs quota
Signed-off-by: Lei Jitang <leijitang@huawei.com>
Upstream-commit: dcc50e1d593fd7995189872791c6d7a013f16970
Component: engine
2015-04-20 08:16:47 -07:00
Brian Goff 884bdce09a Merge pull request #12253 from calavera/remove_job_from_start_and_create
Remove engine.Job from Start and Create
Upstream-commit: de923f59b3860eba2c87e8a533b385ac5752243b
Component: engine
2015-04-15 21:49:25 -04:00
David Calavera 234898b4e7 Decode container configurations into typed structures.
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 767df67e3149b83255db0809f6543b449a4f652e
Component: engine
2015-04-15 10:22:07 -07:00
Qiang Huang 4f6ebaa34e add support for cpuset.mems
Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
Upstream-commit: 8077b2fb805c78cee642d8350df88227c6414960
Component: engine
2015-04-15 09:33:46 +08:00
David Calavera c44394bb9b Remove engine.Job from Start action.
Signed-off-by: David Calavera <david.calavera@gmail.com>
Upstream-commit: 610c436e07388f4898020432b25939cc7104b894
Component: engine
2015-04-14 15:33:12 -07:00
Antonio Murdaca a4111cba55 Refactor utils/utils, fixes #11923
Signed-off-by: Antonio Murdaca <me@runcom.ninja>
Upstream-commit: c30a55f14dbbe3971ba0ac716ba69a60868f4490
Component: engine
2015-04-14 01:37:36 +02:00
Vishnu Kannan 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
Arnaud Porterie 90fc12f567 Merge pull request #10568 from LK4D4/logging_drivers
Logging drivers
Upstream-commit: 1ff5a91007f01d2d61a7b2066db2e164085f0d1b
Component: engine
2015-03-17 09:45:58 -07:00
Alexander Morozov 0f5871ff56 Default 'json-file' logging driver and none logging driver
Signed-off-by: Alexander Morozov <lk4d4@docker.com>
Upstream-commit: 47a6afb93f7f71c7ef7dc692c0f50ac81b5a8c98
Component: engine
2015-03-13 12:13:21 -07:00
Qiang Huang 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
Brian Goff 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
Michael Crosby 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
Dan Walsh 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
Michael Crosby 8c7a6654fa Move security opts to HostConfig
These settings need to be in the HostConfig so that they are not
committed to an image and cannot introduce a security issue.

We can safely move this field from the Config to the HostConfig
without any regressions because these settings are consumed at container
created and used to populate fields on the Container struct.  Because of
this, existing settings will be honored for containers already created
on a daemon with custom security settings and prevent values being
consumed via an Image.

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>

Conflicts:
	daemon/create.go
		changing config to hostConfig was required to fix the
		 build
Upstream-commit: 294843ef23fcff3c080d9fbd12df17ae7006a9f8
Component: engine
2014-11-25 01:02:30 +02:00
Dan Walsh 09b8238fe6 Allow IPC namespace to be shared between containers or with the host
Some workloads rely on IPC for communications with other processes.  We
would like to split workloads between two container but still allow them
to communicate though shared IPC.

This patch mimics the --net code to allow --ipc=host to not split off
the IPC Namespace.  ipc=container:CONTAINERID to share ipc between containers

If you share IPC between containers, then you need to make sure SELinux labels
match.

Docker-DCO-1.1-Signed-off-by: Dan Walsh <dwalsh@redhat.com> (github: rhatdan)
Upstream-commit: 497fc8876ede9924f61c0eee4dfadd71e5d9f537
Component: engine
2014-11-12 11:29:58 -05:00
Jessie Frazelle 118f175983 Merge pull request #8019 from thockin/add-host
Allow extra lines in /etc/hosts
Upstream-commit: f98a1f1f7d9b3ef10c13fc3b6438c978b4d6aa78
Component: engine
2014-09-16 17:19:16 -07:00
Tim Hockin 604739ede9 Allow extra lines in /etc/hosts
This adds a --add-host host:ip flag which appends lines to /etc/hosts.  This is needed in places where you want the container to get a different name resolution than it would through DNS.  This was submitted before as #5525, closed, and now I am re-opening.  It has come up 2 or 3 times in the last couple days.

Signed-off-by: Tim Hockin <thockin@google.com>
Upstream-commit: 68e48b65a64df10fc797cbaa89d6caa2188eadc9
Component: engine
2014-09-16 23:38:23 +00:00
Tibor Vass f321bfe40f docs fix
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
Upstream-commit: 7c85cf5f390a8fe5088d2e275abfd2404aa19048
Component: engine
2014-09-16 18:40:24 -04:00
Alexander Larsson 764b128304 Add "docker create" support
This exposes the already existing "create container" operation.  It is
very similar to "docker run -d" except it doesn't actually start the
container, but just prepares it. It can then be manually started using
"docker start" at any point.

Docker-DCO-1.1-Signed-off-by: Alexander Larsson <alexl@redhat.com> (github: alexlarsson)

Conflicts:
	api/client/commands.go
	runconfig/parse.go
	server/container.go

Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
Upstream-commit: 3a90004f3c2d86ec849f4674c8046693ea061ed1
Component: engine
2014-09-16 18:40:24 -04:00
Alexandr Morozov 53bdf11639 Add IsPrivate method for NetworkMode
This method indicates that container using private network stack

Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com>
Upstream-commit: 080ca8619172b020c7da29b46f2fe4c939bb47ca
Component: engine
2014-09-10 00:46:43 +04:00
Alexandr Morozov dc74831ee4 Don't initialize network for 'none' mode
Fixes #7837

Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com>
Upstream-commit: ba24820284a7a87642f2b668987c1627d6977ea2
Component: engine
2014-09-04 09:50:58 +04:00