本文整理汇总了Golang中github.com/hyperhq/runv/hypervisor/pod.UserContainerPort类的典型用法代码示例。如果您正苦于以下问题:Golang UserContainerPort类的具体用法?Golang UserContainerPort怎么用?Golang UserContainerPort使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了UserContainerPort类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: parsePortMapping
func parsePortMapping(portmap string) (*pod.UserContainerPort, error) {
var (
port = pod.UserContainerPort{}
proto string
hPort string
cPort string
err error
)
fields := strings.Split(portmap, ":")
if len(fields) < 2 {
return nil, fmt.Errorf("flag needs host port and container port: --publish")
} else if len(fields) == 2 {
proto = "tcp"
hPort = fields[0]
cPort = fields[1]
} else {
proto = fields[0]
if proto != "tcp" && proto != "udp" {
return nil, fmt.Errorf("flag needs protocol(tcp or udp): --publish")
}
hPort = fields[1]
cPort = fields[2]
}
port.Protocol = proto
port.HostPort, err = strconv.Atoi(hPort)
if err != nil {
return nil, fmt.Errorf("flag needs host port and container port: --publish: %v", err)
}
port.ContainerPort, err = strconv.Atoi(cPort)
if err != nil {
return nil, fmt.Errorf("flag needs host port and container port: --publish: %v", err)
}
return &port, nil
}
开发者ID:ZJU-SEL,项目名称:hyper,代码行数:38,代码来源:run.go
示例2: HyperCmdRun
//.........这里部分代码省略.........
if err != nil {
return err
}
}
if err := json.Unmarshal(jsonbody, &kpod); err != nil {
return err
}
userpod, err = kpod.Convert()
if err != nil {
return err
}
jsonbody, err = json.Marshal(*userpod)
if err != nil {
return err
}
t1 := time.Now()
podId, err := cli.RunPod(string(jsonbody), opts.Remove)
if err != nil {
return err
}
fmt.Printf("POD id is %s\n", podId)
t2 := time.Now()
fmt.Printf("Time to run a POD is %d ms\n", (t2.UnixNano()-t1.UnixNano())/1000000)
return nil
}
if len(args) == 0 {
return fmt.Errorf("%s: \"run\" requires a minimum of 1 argument, please provide the image.", os.Args[0])
}
var (
image = args[1]
command = []string{}
env = []pod.UserEnvironmentVar{}
ports = []pod.UserContainerPort{}
proto string
hPort string
cPort string
)
if len(args) > 1 {
command = args[2:]
}
if opts.Name == "" {
opts.Name = image
fields := strings.Split(image, "/")
if len(fields) > 1 {
opts.Name = fields[len(fields)-1]
}
fields = strings.Split(opts.Name, ":")
if len(fields) < 2 {
opts.Name = opts.Name + "-" + utils.RandStr(10, "number")
} else {
opts.Name = fields[0] + "-" + fields[1] + "-" + utils.RandStr(10, "number")
}
validContainerNameChars := `[a-zA-Z0-9][a-zA-Z0-9_.-]`
validContainerNamePattern := regexp.MustCompile(`^/?` + validContainerNameChars + `+$`)
if !validContainerNamePattern.MatchString(opts.Name) {
opts.Name = namesgenerator.GetRandomName(0)
}
}
if opts.Memory == 0 {
opts.Memory = 128
}
if opts.Cpu == 0 {
opts.Cpu = 1
}
开发者ID:gingerhot,项目名称:hyper,代码行数:67,代码来源:run.go
注:本文中的github.com/hyperhq/runv/hypervisor/pod.UserContainerPort类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论