本文整理匯總了Golang中github.com/codegangsta/cli.Context.Host方法的典型用法代碼示例。如果您正苦於以下問題:Golang Context.Host方法的具體用法?Golang Context.Host怎麽用?Golang Context.Host使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/codegangsta/cli.Context
的用法示例。
在下文中一共展示了Context.Host方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: upCommandFunc
func upCommandFunc(c *cli.Context) {
config, err := config.ParseConfig("vanguard.yml")
if err != nil {
fmt.Println(err)
return
}
tiers, err := config.GetTiers()
if err != nil {
fmt.Println(err)
return
}
err = config.PullRemoteFiles(c.Bool("replace-files"))
if err != nil {
fmt.Println(err)
return
}
if c.Bool("dry") {
ShowTiers(tiers)
return
}
manager := &ContainerManager{
EnvVariables: make(map[string]string),
Clients: make(map[string]*client.Client),
RunningContainers: make(map[string][]*container.Container),
UsedContainerNames: make(map[string][]string),
}
for _, server := range config.Servers {
c := client.NewClient(server.Hostname)
bindings, err := c.Bindings()
for _, binding := range bindings {
err = c.Hide(binding.Port, "", "")
if err != nil {
fmt.Println(err)
return
}
}
if server.Label != "" {
host, err := c.Host()
if err == nil && host.InternalIp != "" {
manager.EnvVariables[server.Label] = host.InternalIp
}
}
if server.Expose == nil {
continue
}
for _, expose := range server.Expose {
arr := strings.Split(expose, ":")
if len(arr) != 3 {
continue
}
manager.CustomExpose(server.Hostname, arr[0], arr[1], arr[2])
}
}
for _, tier := range tiers {
for _, server := range tier.Servers {
for _, cont := range server.Containers {
manager.Manage(server.Hostname, cont)
if err != nil {
fmt.Println(err)
return
}
}
}
}
manager.StopUnused()
}