From bc9099de9bc2e5a121d9194560ff7955d26a4775 Mon Sep 17 00:00:00 2001 From: Guillame Tardif Date: Fri, 27 Nov 2020 13:46:57 +0100 Subject: [PATCH] Ensure images are pulled/build with build first, before creating networks / volumes and starting containers. Will also avoid mixing build output and compose-cli progress display Signed-off-by: Guillame Tardif --- local/compose.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/local/compose.go b/local/compose.go index d6f72caa6..9818cb97d 100644 --- a/local/compose.go +++ b/local/compose.go @@ -54,6 +54,10 @@ type composeService struct { } func (s *composeService) Up(ctx context.Context, project *types.Project, detach bool) error { + err := s.ensureImagesExists(ctx, project) + if err != nil { + return err + } for k, network := range project.Networks { if !network.External.External && network.Name != "" { network.Name = fmt.Sprintf("%s_%s", project.Name, k) @@ -82,11 +86,6 @@ func (s *composeService) Up(ctx context.Context, project *types.Project, detach } } - err := s.ensureImagesExists(ctx, project) - if err != nil { - return err - } - err = inDependencyOrder(ctx, project, func(c context.Context, service types.ServiceConfig) error { return s.ensureService(c, project, service) })