compose/cli/cmd/run_opts.go

39 lines
698 B
Go

package cmd
import (
"strings"
"github.com/docker/api/containers"
)
type runOpts struct {
name string
publish []string
}
func toPorts(ports []string) ([]containers.Port, error) {
var result []containers.Port
for _, port := range ports {
parts := strings.Split(port, ":")
result = append(result, containers.Port{
Source: parts[0],
Destination: parts[1],
})
}
return result, nil
}
func (r *runOpts) ToContainerConfig(image string) (containers.ContainerConfig, error) {
publish, err := toPorts(r.publish)
if err != nil {
return containers.ContainerConfig{}, err
}
return containers.ContainerConfig{
ID: r.name,
Image: image,
Ports: publish,
}, nil
}