mirror of https://github.com/docker/cli.git
Allow setting ulimits for containers
Signed-off-by: Brian Goff <cpuguy83@gmail.com>
This commit is contained in:
parent
196bc32878
commit
473eb9a2c5
|
@ -11,6 +11,7 @@ import (
|
|||
"github.com/docker/docker/api"
|
||||
flag "github.com/docker/docker/pkg/mflag"
|
||||
"github.com/docker/docker/pkg/parsers"
|
||||
"github.com/docker/docker/pkg/ulimit"
|
||||
"github.com/docker/docker/utils"
|
||||
)
|
||||
|
||||
|
@ -43,6 +44,10 @@ func LabelListVar(values *[]string, names []string, usage string) {
|
|||
flag.Var(newListOptsRef(values, ValidateLabel), names, usage)
|
||||
}
|
||||
|
||||
func UlimitMapVar(values map[string]*ulimit.Ulimit, names []string, usage string) {
|
||||
flag.Var(NewUlimitOpt(values), names, usage)
|
||||
}
|
||||
|
||||
// ListOpts type
|
||||
type ListOpts struct {
|
||||
values *[]string
|
||||
|
|
|
@ -0,0 +1,44 @@
|
|||
package opts
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/docker/docker/pkg/ulimit"
|
||||
)
|
||||
|
||||
type UlimitOpt struct {
|
||||
values map[string]*ulimit.Ulimit
|
||||
}
|
||||
|
||||
func NewUlimitOpt(ref map[string]*ulimit.Ulimit) *UlimitOpt {
|
||||
return &UlimitOpt{ref}
|
||||
}
|
||||
|
||||
func (o *UlimitOpt) Set(val string) error {
|
||||
l, err := ulimit.Parse(val)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
o.values[l.Name] = l
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (o *UlimitOpt) String() string {
|
||||
var out []string
|
||||
for _, v := range o.values {
|
||||
out = append(out, v.String())
|
||||
}
|
||||
|
||||
return fmt.Sprintf("%v", out)
|
||||
}
|
||||
|
||||
func (o *UlimitOpt) GetList() []*ulimit.Ulimit {
|
||||
var ulimits []*ulimit.Ulimit
|
||||
for _, v := range o.values {
|
||||
ulimits = append(ulimits, v)
|
||||
}
|
||||
|
||||
return ulimits
|
||||
}
|
Loading…
Reference in New Issue