Browse Source

in watch mode force pull policy to build for services with both build and develop attributes
This default behaviour will force a rebuild of the service images at watch process startup and be sure containers will be in sync with the local source code

Signed-off-by: Guillaume Lours <[email protected]>

Guillaume Lours 2 years ago
parent
commit
2ba5e4c1d0
1 changed files with 8 additions and 0 deletions
  1. 8 0
      cmd/compose/watch.go

+ 8 - 0
cmd/compose/watch.go

@@ -20,6 +20,8 @@ import (
 	"context"
 	"fmt"
 
+	"github.com/compose-spec/compose-go/types"
+
 	"github.com/docker/cli/cli/command"
 	"github.com/docker/compose/v2/internal/locker"
 	"github.com/docker/compose/v2/pkg/api"
@@ -85,6 +87,12 @@ func runWatch(ctx context.Context, dockerCli command.Cli, backend api.Service, w
 	}
 
 	if !watchOpts.noUp {
+		for index, service := range project.Services {
+			if service.Build != nil && service.Develop != nil {
+				service.PullPolicy = types.PullPolicyBuild
+			}
+			project.Services[index] = service
+		}
 		upOpts := api.UpOptions{
 			Create: api.CreateOptions{
 				Build:                &build,