diff --git a/cli/cmd/run/opts.go b/cli/cmd/run/opts.go index f632a9ec..d8c84233 100644 --- a/cli/cmd/run/opts.go +++ b/cli/cmd/run/opts.go @@ -1,6 +1,7 @@ package run import ( + "fmt" "strconv" "strings" @@ -17,11 +18,14 @@ func toPorts(ports []string) ([]containers.Port, error) { for _, port := range ports { parts := strings.Split(port, ":") - source, err := strconv.ParseUint(parts[0], 10, 32) + if len(parts) != 2 { + return nil, fmt.Errorf("unable to parse ports %q", port) + } + source, err := strconv.Atoi(parts[0]) if err != nil { return nil, err } - destination, err := strconv.ParseUint(parts[1], 10, 32) + destination, err := strconv.Atoi(parts[1]) if err != nil { return nil, err } @@ -34,7 +38,7 @@ func toPorts(ports []string) ([]containers.Port, error) { return result, nil } -func (r *runOpts) ToContainerConfig(image string) (containers.ContainerConfig, error) { +func (r *runOpts) toContainerConfig(image string) (containers.ContainerConfig, error) { publish, err := toPorts(r.publish) if err != nil { return containers.ContainerConfig{}, err diff --git a/cli/cmd/run/run.go b/cli/cmd/run/run.go index 8e92a615..623a6a36 100644 --- a/cli/cmd/run/run.go +++ b/cli/cmd/run/run.go @@ -59,7 +59,7 @@ func runRun(ctx context.Context, image string, opts runOpts) error { return err } - project, err := opts.ToContainerConfig(image) + project, err := opts.toContainerConfig(image) if err != nil { return err }