Skip to content

Commit

Permalink
Limit container CPU and memory
Browse files Browse the repository at this point in the history
  • Loading branch information
rhcarvalho committed Feb 12, 2016
1 parent f5829ce commit 10c7245
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions pkg/build/builder/common.go
Original file line number Diff line number Diff line change
Expand Up @@ -139,13 +139,26 @@ func execPostCommitHook(client DockerClient, postCommitSpec api.BuildPostCommitS
args = append([]string{script, command[0]}, args...)
}

limits, err := GetCGroupLimits()
if err != nil {
return fmt.Errorf("read cgroup limits: %v", err)
}

return dockerRun(client, docker.CreateContainerOptions{
Name: containerName,
Config: &docker.Config{
Image: image,
Entrypoint: command,
Cmd: args,
},
HostConfig: &docker.HostConfig{
// Limit container's resource allocation.
CPUShares: limits.CPUShares,
CPUPeriod: limits.CPUPeriod,
CPUQuota: limits.CPUQuota,
Memory: limits.MemoryLimitBytes,
MemorySwap: limits.MemorySwap,
},
}, docker.LogsOptions{
// Stream logs to stdout and stderr.
OutputStream: os.Stdout,
Expand Down

0 comments on commit 10c7245

Please sign in to comment.