From a1bc5c721db2e660aed7f7d946dcc1b6d1288d16 Mon Sep 17 00:00:00 2001 From: Nicolas De Loof Date: Fri, 5 Feb 2021 11:15:43 +0100 Subject: [PATCH] Filter out one_off containers on `compose logs` Signed-off-by: Nicolas De Loof --- local/compose/labels.go | 6 ++++++ local/compose/logs.go | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/local/compose/labels.go b/local/compose/labels.go index f506a70a..ef931bd1 100644 --- a/local/compose/labels.go +++ b/local/compose/labels.go @@ -18,6 +18,8 @@ package compose import ( "fmt" + "strconv" + "strings" "github.com/docker/compose-cli/api/compose" "github.com/docker/docker/api/types/filters" @@ -44,6 +46,10 @@ func projectFilter(projectName string) filters.KeyValuePair { return filters.Arg("label", fmt.Sprintf("%s=%s", projectLabel, projectName)) } +func oneOffFilter(oneOff bool) filters.KeyValuePair { + return filters.Arg("label", fmt.Sprintf("%s=%s", oneoffLabel, strings.Title(strconv.FormatBool(oneOff)))) +} + func serviceFilter(serviceName string) filters.KeyValuePair { return filters.Arg("label", fmt.Sprintf("%s=%s", serviceLabel, serviceName)) } diff --git a/local/compose/logs.go b/local/compose/logs.go index 691768c6..7f4ec45b 100644 --- a/local/compose/logs.go +++ b/local/compose/logs.go @@ -33,6 +33,7 @@ func (s *composeService) Logs(ctx context.Context, projectName string, consumer list, err := s.apiClient.ContainerList(ctx, types.ContainerListOptions{ Filters: filters.NewArgs( projectFilter(projectName), + oneOffFilter(false), ), All: true, }) @@ -72,7 +73,7 @@ func (s *composeService) Logs(ctx context.Context, projectName string, consumer if err != nil { return err } - w := getWriter(service, container.ID, consumer) + w := getWriter(service, container.Name[1:], consumer) if container.Config.Tty { _, err = io.Copy(w, r) } else {