diff --git a/pkg/kubelet/dockertools/manager.go b/pkg/kubelet/dockertools/manager.go index 924945c887d..7e1a9692cf8 100644 --- a/pkg/kubelet/dockertools/manager.go +++ b/pkg/kubelet/dockertools/manager.go @@ -573,6 +573,8 @@ func (dm *DockerManager) runContainer( labels[kubernetesContainerLabel] = container.Name } } + memoryLimit := container.Resources.Limits.Memory().Value() + cpuShares := milliCPUToShares(container.Resources.Limits.Cpu().MilliValue()) dockerOpts := docker.CreateContainerOptions{ Name: BuildDockerName(dockerName, container), Config: &docker.Config{ @@ -580,10 +582,11 @@ func (dm *DockerManager) runContainer( ExposedPorts: exposedPorts, Hostname: containerHostname, Image: container.Image, - Memory: container.Resources.Limits.Memory().Value(), - CPUShares: milliCPUToShares(container.Resources.Limits.Cpu().MilliValue()), - WorkingDir: container.WorkingDir, - Labels: labels, + // Memory and CPU are set here for older versions of Docker (pre-1.6). + Memory: memoryLimit, + CPUShares: cpuShares, + WorkingDir: container.WorkingDir, + Labels: labels, }, } @@ -630,6 +633,9 @@ func (dm *DockerManager) runContainer( Binds: binds, NetworkMode: netMode, IpcMode: ipcMode, + // Memory and CPU are set here for newer versions of Docker (1.6+). + Memory: memoryLimit, + CPUShares: cpuShares, } if len(opts.DNS) > 0 { hc.DNS = opts.DNS