From da8a06909b38c954bd4395ce0a34a1c0599de652 Mon Sep 17 00:00:00 2001 From: ssongliu <73214554+ssongliu@users.noreply.github.com> Date: Thu, 17 Aug 2023 16:10:09 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=BB=B6=E9=95=BF=E8=BF=9B=E7=A8=8B?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E8=8E=B7=E5=8F=96=E7=AD=89=E5=BE=85=E6=97=B6?= =?UTF-8?q?=E9=97=B4=20(#1986)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/service/container_compose.go | 5 +++++ backend/app/service/host_tool.go | 6 +++--- backend/app/service/image.go | 7 ++++++- frontend/src/components/container-log/index.vue | 2 +- .../website/website/config/basic/proxy/create/index.vue | 4 ++-- 5 files changed, 17 insertions(+), 7 deletions(-) diff --git a/backend/app/service/container_compose.go b/backend/app/service/container_compose.go index 4e6b9bf9a..b0d651d4a 100644 --- a/backend/app/service/container_compose.go +++ b/backend/app/service/container_compose.go @@ -161,6 +161,11 @@ func (u *ContainerService) CreateCompose(req dto.ComposeCreate) (string, error) } dockerLogDir := path.Join(global.CONF.System.TmpDir, "docker_logs") + if _, err := os.Stat(dockerLogDir); err != nil && os.IsNotExist(err) { + if err = os.MkdirAll(dockerLogDir, os.ModePerm); err != nil { + return "", err + } + } logItem := fmt.Sprintf("%s/compose_create_%s_%s.log", dockerLogDir, req.Name, time.Now().Format("20060102150405")) file, err := os.OpenFile(logItem, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0666) if err != nil { diff --git a/backend/app/service/host_tool.go b/backend/app/service/host_tool.go index d8d62e0c9..e68d7696e 100644 --- a/backend/app/service/host_tool.go +++ b/backend/app/service/host_tool.go @@ -379,7 +379,7 @@ func (h *HostToolService) OperateSupervisorProcess(req request.SupervisorProcess func (h *HostToolService) LoadProcessStatus() ([]response.ProcessStatus, error) { var datas []response.ProcessStatus - statuLines, err := cmd.Exec("supervisorct status") + statuLines, err := cmd.Exec("supervisorctl status") if err != nil { return datas, fmt.Errorf("exec `supervisorctl status` failed, err: %v", statuLines) } @@ -398,12 +398,12 @@ func (h *HostToolService) LoadProcessStatus() ([]response.ProcessStatus, error) for t := 0; t < 3; t++ { status, err := cmd.ExecWithTimeOut(fmt.Sprintf("supervisorctl status %s", datas[index].Name), 2*time.Second) if err != nil { - time.Sleep(1 * time.Second) + time.Sleep(2 * time.Second) continue } fields := strings.Fields(status) if len(fields) < 5 { - time.Sleep(1 * time.Second) + time.Sleep(2 * time.Second) continue } datas[index].Name = fields[0] diff --git a/backend/app/service/image.go b/backend/app/service/image.go index eb1fd6f47..523f4e9bc 100644 --- a/backend/app/service/image.go +++ b/backend/app/service/image.go @@ -123,7 +123,6 @@ func (u *ImageService) ImageBuild(req dto.ImageBuild) (string, error) { return "", err } fileName := "Dockerfile" - dockerLogDir := path.Join(global.CONF.System.TmpDir, "docker_logs") if req.From == "edit" { dir := fmt.Sprintf("%s/docker/build/%s", constant.DataDir, strings.ReplaceAll(req.Name, ":", "_")) if _, err := os.Stat(dir); err != nil && os.IsNotExist(err) { @@ -158,6 +157,12 @@ func (u *ImageService) ImageBuild(req dto.ImageBuild) (string, error) { Labels: stringsToMap(req.Tags), } + dockerLogDir := path.Join(global.CONF.System.TmpDir, "docker_logs") + if _, err := os.Stat(dockerLogDir); err != nil && os.IsNotExist(err) { + if err = os.MkdirAll(dockerLogDir, os.ModePerm); err != nil { + return "", err + } + } logItem := fmt.Sprintf("%s/image_build_%s_%s.log", dockerLogDir, strings.ReplaceAll(req.Name, ":", "_"), time.Now().Format("20060102150405")) file, err := os.OpenFile(logItem, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0666) if err != nil { diff --git a/frontend/src/components/container-log/index.vue b/frontend/src/components/container-log/index.vue index 1f5bbf6b8..9c1e37880 100644 --- a/frontend/src/components/container-log/index.vue +++ b/frontend/src/components/container-log/index.vue @@ -1,7 +1,7 @@