github.com/zhuohuang-hust/src-cbuild@v0.0.0-20230105071821-c7aab3e7c840/mergeCode/libnetwork/portmapper/proxy_solaris.go (about) 1 package portmapper 2 3 import ( 4 "net" 5 "os/exec" 6 "strconv" 7 ) 8 9 func newProxyCommand(proto string, hostIP net.IP, hostPort int, containerIP net.IP, containerPort int, proxyPath string) (userlandProxy, error) { 10 path := proxyPath 11 if proxyPath == "" { 12 cmd, err := exec.LookPath(userlandProxyCommandName) 13 if err != nil { 14 return nil, err 15 } 16 path = cmd 17 } 18 19 args := []string{ 20 path, 21 "-proto", proto, 22 "-host-ip", hostIP.String(), 23 "-host-port", strconv.Itoa(hostPort), 24 "-container-ip", containerIP.String(), 25 "-container-port", strconv.Itoa(containerPort), 26 } 27 28 return &proxyCommand{ 29 cmd: &exec.Cmd{ 30 Path: path, 31 Args: args, 32 }, 33 }, nil 34 }