本文整理汇总了Golang中github.com/docker/libcompose/project.Context类的典型用法代码示例。如果您正苦于以下问题:Golang Context类的具体用法?Golang Context怎么用?Golang Context使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Context类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: NewCompose
func NewCompose(dockerHost, composeFilePath, projectName string) (*Compose, error) {
ctx := project.Context{
ComposeFiles: []string{composeFilePath},
ProjectName: projectName,
}
ctx.ResourceLookup = &lookup.FileResourceLookup{}
ctx.EnvironmentLookup = &lookup.ComposableEnvLookup{
Lookups: []config.EnvironmentLookup{
&lookup.OsEnvLookup{},
},
}
prj := project.NewProject(&ctx, nil, nil)
if err := prj.Parse(); err != nil {
return nil, errors.Wrap(err, "Failed to parse docker-compose.yml.")
}
return &Compose{
ComposeFilePath: composeFilePath,
ProjectName: projectName,
dockerHost: dockerHost,
project: prj,
}, nil
}
示例2: Populate
func Populate(context *project.Context, c *cli.Context) {
context.ComposeFile = c.GlobalString("file")
context.ProjectName = c.GlobalString("project-name")
if c.Command.Name == "logs" {
context.Log = true
} else if c.Command.Name == "up" {
context.Log = !c.Bool("d")
} else if c.Command.Name == "stop" || c.Command.Name == "restart" {
context.Timeout = c.Int("timeout")
}
}
示例3: Populate
// Populate updates the specified project context based on command line arguments and subcommands.
func Populate(context *project.Context, c *cli.Context) {
context.ComposeFiles = c.GlobalStringSlice("file")
if len(context.ComposeFiles) == 0 {
context.ComposeFiles = []string{"docker-compose.yml"}
if _, err := os.Stat("docker-compose.override.yml"); err == nil {
context.ComposeFiles = append(context.ComposeFiles, "docker-compose.override.yml")
}
}
context.ProjectName = c.GlobalString("project-name")
}
示例4: Populate
// Populate updates the specified project context based on command line arguments and subcommands.
func Populate(context *project.Context, c *cli.Context) {
// urfave/cli does not distinguish whether the first string in the slice comes from the envvar
// or is from a flag. Worse off, it appends the flag values to the envvar value instead of
// overriding it. To ensure the multifile envvar case is always handled, the first string
// must always be split. It gives a more consistent behavior, then, to split each string in
// the slice.
for _, v := range c.GlobalStringSlice("file") {
context.ComposeFiles = append(context.ComposeFiles, strings.Split(v, string(os.PathListSeparator))...)
}
if len(context.ComposeFiles) == 0 {
context.ComposeFiles = []string{"docker-compose.yml"}
if _, err := os.Stat("docker-compose.override.yml"); err == nil {
context.ComposeFiles = append(context.ComposeFiles, "docker-compose.override.yml")
}
}
context.ProjectName = c.GlobalString("project-name")
}
示例5: Populate
// Populate updates the specified project context based on command line arguments and subcommands.
func Populate(context *project.Context, c *cli.Context) {
context.ComposeFile = c.GlobalString("file")
context.ProjectName = c.GlobalString("project-name")
if c.Command.Name == "logs" {
context.Log = true
} else if c.Command.Name == "up" {
context.Log = !c.Bool("d")
context.NoRecreate = c.Bool("no-recreate")
context.ForceRecreate = c.Bool("force-recreate")
} else if c.Command.Name == "stop" || c.Command.Name == "restart" || c.Command.Name == "scale" {
context.Timeout = uint(c.Int("timeout"))
} else if c.Command.Name == "kill" {
context.Signal = c.Int("signal")
} else if c.Command.Name == "rm" {
context.Volume = c.Bool("v")
} else if c.Command.Name == "build" {
context.NoCache = c.Bool("no-cache")
}
}
示例6: Populate
// Populate updates the specified project context based on command line arguments and subcommands.
func Populate(context *project.Context, c *cli.Context) {
context.ComposeFiles = c.GlobalStringSlice("file")
if len(context.ComposeFiles) == 0 {
context.ComposeFiles = []string{"docker-compose.yml"}
if _, err := os.Stat("docker-compose.override.yml"); err == nil {
context.ComposeFiles = append(context.ComposeFiles, "docker-compose.override.yml")
}
}
context.ProjectName = c.GlobalString("project-name")
if c.Command.Name == "logs" {
context.Log = true
context.FollowLog = c.Bool("follow")
} else if c.Command.Name == "up" || c.Command.Name == "create" {
context.Log = !c.Bool("d")
context.NoRecreate = c.Bool("no-recreate")
context.ForceRecreate = c.Bool("force-recreate")
context.NoBuild = c.Bool("no-build")
} else if c.Command.Name == "stop" || c.Command.Name == "restart" || c.Command.Name == "scale" {
context.Timeout = uint(c.Int("timeout"))
} else if c.Command.Name == "kill" {
context.Signal = c.String("signal")
} else if c.Command.Name == "rm" {
context.Volume = c.Bool("v")
} else if c.Command.Name == "build" {
context.NoCache = c.Bool("no-cache")
}
}