1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package daemon
- import (
- "time"
- "github.com/docker/docker/api/types/container"
- "github.com/docker/docker/libcontainerd"
- specs "github.com/opencontainers/runtime-spec/specs-go"
- )
- func toContainerdResources(resources container.Resources) *libcontainerd.Resources {
- var r libcontainerd.Resources
- r.BlockIO = &specs.LinuxBlockIO{
- Weight: &resources.BlkioWeight,
- }
- shares := uint64(resources.CPUShares)
- r.CPU = &specs.LinuxCPU{
- Shares: &shares,
- Cpus: resources.CpusetCpus,
- Mems: resources.CpusetMems,
- }
- var (
- period uint64
- quota int64
- )
- if resources.NanoCPUs != 0 {
- period = uint64(100 * time.Millisecond / time.Microsecond)
- quota = resources.NanoCPUs * int64(period) / 1e9
- }
- r.CPU.Period = &period
- r.CPU.Quota = "a
- r.Memory = &specs.LinuxMemory{
- Limit: &resources.Memory,
- Reservation: &resources.MemoryReservation,
- Kernel: &resources.KernelMemory,
- }
- if resources.MemorySwap > 0 {
- r.Memory.Swap = &resources.MemorySwap
- }
- return &r
- }
|