diff --git a/backend/app/service/container_compose.go b/backend/app/service/container_compose.go index d0a384385..6371aa726 100644 --- a/backend/app/service/container_compose.go +++ b/backend/app/service/container_compose.go @@ -5,6 +5,7 @@ import ( "errors" "fmt" "os" + "path" "sort" "strings" "time" @@ -152,11 +153,16 @@ func (u *ContainerService) CreateCompose(req dto.ComposeCreate) error { req.Path = path } global.LOG.Infof("docker-compose.yml %s create successful, start to docker-compose up", req.Name) - if stdout, err := compose.Up(req.Path); err != nil { - return errors.New(string(stdout)) - } + if req.From == "path" { + req.Name = path.Base(strings.ReplaceAll(req.Path, "/docker-compose.yml", "")) + } + if stdout, err := compose.Up(req.Path); err != nil { + _, _ = compose.Down(req.Path) + return errors.New(stdout) + } _ = composeRepo.CreateRecord(&model.Compose{Name: req.Name}) + return nil } diff --git a/backend/utils/compose/compose.go b/backend/utils/compose/compose.go index b990275f0..44a2c3520 100644 --- a/backend/utils/compose/compose.go +++ b/backend/utils/compose/compose.go @@ -7,7 +7,7 @@ import ( ) func Up(filePath string) (string, error) { - stdout, err := cmd.Execf("docker-compose -f %s up -d", filePath) + stdout, err := cmd.Execf("docker-compose -f %s up -d --quiet-pull", filePath) return stdout, err }