Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit deaa0e5

Browse files
committed
Set CPU and memory in Create() and Start().
This allows for backwards and forwards compatability since old Docker versions expect it in Create() and newer ones do so in Start(). Fixes #8358
1 parent eb4d90f commit deaa0e5

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

pkg/kubelet/dockertools/manager.go

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -573,17 +573,20 @@ func (dm *DockerManager) runContainer(
573573
labels[kubernetesContainerLabel] = container.Name
574574
}
575575
}
576+
memoryLimit := container.Resources.Limits.Memory().Value()
577+
cpuShares := milliCPUToShares(container.Resources.Limits.Cpu().MilliValue())
576578
dockerOpts := docker.CreateContainerOptions{
577579
Name: BuildDockerName(dockerName, container),
578580
Config: &docker.Config{
579581
Env: makeEnvList(opts.Envs),
580582
ExposedPorts: exposedPorts,
581583
Hostname: containerHostname,
582584
Image: container.Image,
583-
Memory: container.Resources.Limits.Memory().Value(),
584-
CPUShares: milliCPUToShares(container.Resources.Limits.Cpu().MilliValue()),
585-
WorkingDir: container.WorkingDir,
586-
Labels: labels,
585+
// Memory and CPU are set here for older versions of Docker (pre-1.6).
586+
Memory: memoryLimit,
587+
CPUShares: cpuShares,
588+
WorkingDir: container.WorkingDir,
589+
Labels: labels,
587590
},
588591
}
589592

@@ -630,6 +633,9 @@ func (dm *DockerManager) runContainer(
630633
Binds: binds,
631634
NetworkMode: netMode,
632635
IpcMode: ipcMode,
636+
// Memory and CPU are set here for newer versions of Docker (1.6+).
637+
Memory: memoryLimit,
638+
CPUShares: cpuShares,
633639
}
634640
if len(opts.DNS) > 0 {
635641
hc.DNS = opts.DNS

0 commit comments

Comments
 (0)