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
This commit is contained in:
@@ -573,6 +573,8 @@ func (dm *DockerManager) runContainer(
|
|||||||
labels[kubernetesContainerLabel] = container.Name
|
labels[kubernetesContainerLabel] = container.Name
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
memoryLimit := container.Resources.Limits.Memory().Value()
|
||||||
|
cpuShares := milliCPUToShares(container.Resources.Limits.Cpu().MilliValue())
|
||||||
dockerOpts := docker.CreateContainerOptions{
|
dockerOpts := docker.CreateContainerOptions{
|
||||||
Name: BuildDockerName(dockerName, container),
|
Name: BuildDockerName(dockerName, container),
|
||||||
Config: &docker.Config{
|
Config: &docker.Config{
|
||||||
@@ -580,8 +582,9 @@ func (dm *DockerManager) runContainer(
|
|||||||
ExposedPorts: exposedPorts,
|
ExposedPorts: exposedPorts,
|
||||||
Hostname: containerHostname,
|
Hostname: containerHostname,
|
||||||
Image: container.Image,
|
Image: container.Image,
|
||||||
Memory: container.Resources.Limits.Memory().Value(),
|
// Memory and CPU are set here for older versions of Docker (pre-1.6).
|
||||||
CPUShares: milliCPUToShares(container.Resources.Limits.Cpu().MilliValue()),
|
Memory: memoryLimit,
|
||||||
|
CPUShares: cpuShares,
|
||||||
WorkingDir: container.WorkingDir,
|
WorkingDir: container.WorkingDir,
|
||||||
Labels: labels,
|
Labels: labels,
|
||||||
},
|
},
|
||||||
@@ -630,6 +633,9 @@ func (dm *DockerManager) runContainer(
|
|||||||
Binds: binds,
|
Binds: binds,
|
||||||
NetworkMode: netMode,
|
NetworkMode: netMode,
|
||||||
IpcMode: ipcMode,
|
IpcMode: ipcMode,
|
||||||
|
// Memory and CPU are set here for newer versions of Docker (1.6+).
|
||||||
|
Memory: memoryLimit,
|
||||||
|
CPUShares: cpuShares,
|
||||||
}
|
}
|
||||||
if len(opts.DNS) > 0 {
|
if len(opts.DNS) > 0 {
|
||||||
hc.DNS = opts.DNS
|
hc.DNS = opts.DNS
|
||||||
|
Reference in New Issue
Block a user