fix: Fixed issue with open app log failed with docker-compose (#9400)

This commit is contained in:
CityFun 2025-07-04 10:23:02 +08:00 committed by GitHub
parent bb8a15ca56
commit f74248f0d7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 16 additions and 12 deletions

View file

@ -915,9 +915,6 @@ func collectLogs(done <-chan struct{}, params dto.StreamLog, messageChan chan<-
defer close(messageChan)
defer close(errorChan)
var cmdArgs []string
if params.Type == "compose" {
cmdArgs = []string{"compose", "-f", params.Compose}
}
cmdArgs = append(cmdArgs, "logs")
if params.Follow {
cmdArgs = append(cmdArgs, "-f")
@ -932,7 +929,20 @@ func collectLogs(done <-chan struct{}, params dto.StreamLog, messageChan chan<-
cmdArgs = append(cmdArgs, params.Container)
}
dockerCmd := exec.Command("docker", cmdArgs...)
var dockerCmd *exec.Cmd
if params.Type == "compose" {
dockerComposCmd := common.GetDockerComposeCommand()
if dockerComposCmd == "docker-compose" {
newCmdArgs := append([]string{"-f", params.Compose}, cmdArgs...)
dockerCmd = exec.Command(dockerComposCmd, newCmdArgs...)
} else {
newCmdArgs := append([]string{"compose", "-f", params.Compose}, cmdArgs...)
dockerCmd = exec.Command("docker", newCmdArgs...)
}
} else {
dockerCmd = exec.Command("docker", cmdArgs...)
}
dockerCmd.SysProcAttr = &syscall.SysProcAttr{Setpgid: true}
stdout, err := dockerCmd.StdoutPipe()

View file

@ -4,6 +4,7 @@
:header="$t('commons.button.' + operateReq.operate)"
:resource="resourceName"
@close="handleClose"
v-loading="loading"
>
<el-descriptions direction="vertical">
<el-descriptions-item>
@ -25,14 +26,7 @@
</el-link>
</el-descriptions-item>
</el-descriptions>
<el-form
@submit.prevent
ref="updateRef"
:rules="rules"
label-position="top"
:model="operateReq"
v-loading="loading"
>
<el-form @submit.prevent ref="updateRef" :rules="rules" label-position="top" :model="operateReq">
<el-form-item :label="$t('app.versionSelect')" prop="detailId">
<el-select v-model="operateReq.version" @change="getVersions(operateReq.version)">
<el-option