mirror of https://github.com/docker/compose.git
Merge pull request #1321 from aiordache/local_ps_services
Add `--services` flag to `compose ps`
This commit is contained in:
commit
598f7bba1f
|
@ -33,9 +33,10 @@ import (
|
|||
|
||||
type psOptions struct {
|
||||
*projectOptions
|
||||
Format string
|
||||
All bool
|
||||
Quiet bool
|
||||
Format string
|
||||
All bool
|
||||
Quiet bool
|
||||
Services bool
|
||||
}
|
||||
|
||||
func psCommand(p *projectOptions) *cobra.Command {
|
||||
|
@ -51,6 +52,7 @@ func psCommand(p *projectOptions) *cobra.Command {
|
|||
}
|
||||
psCmd.Flags().StringVar(&opts.Format, "format", "pretty", "Format the output. Values: [pretty | json].")
|
||||
psCmd.Flags().BoolVarP(&opts.Quiet, "quiet", "q", false, "Only display IDs")
|
||||
psCmd.Flags().BoolVar(&opts.Services, "services", false, "Display services")
|
||||
psCmd.Flags().BoolVarP(&opts.All, "all", "a", false, "Show all stopped containers (including those created by the run command)")
|
||||
return psCmd
|
||||
}
|
||||
|
@ -71,6 +73,17 @@ func runPs(ctx context.Context, opts psOptions) error {
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if opts.Services {
|
||||
services := []string{}
|
||||
for _, s := range containers {
|
||||
if !contains(services, s.Service) {
|
||||
services = append(services, s.Service)
|
||||
}
|
||||
}
|
||||
fmt.Println(strings.Join(services, "\n"))
|
||||
return nil
|
||||
}
|
||||
if opts.Quiet {
|
||||
for _, s := range containers {
|
||||
fmt.Println(s.ID)
|
||||
|
@ -102,3 +115,12 @@ func runPs(ctx context.Context, opts psOptions) error {
|
|||
},
|
||||
"NAME", "SERVICE", "STATUS", "PORTS")
|
||||
}
|
||||
|
||||
func contains(slice []string, item string) bool {
|
||||
for _, v := range slice {
|
||||
if v == item {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue