Skip to content

Commit dbb61d3

Browse files
committed
fix: docker images build
1 parent fe224c0 commit dbb61d3

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

internal/runner/container.go

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,11 +85,25 @@ func dockerCmd(ctx context.Context, args ...string) ([]byte, error) {
8585
return cmd.CombinedOutput()
8686
}
8787

88+
// containerNotFound 判断 docker 输出是否表示「容器不存在」(含英文/中文等)
89+
func containerNotFound(out []byte) bool {
90+
s := string(out)
91+
lower := strings.ToLower(s)
92+
if strings.Contains(lower, "no such container") {
93+
return true
94+
}
95+
// Docker 中文环境或其它 locale 的常见提示
96+
if strings.Contains(s, "没有此容器") || strings.Contains(s, "没有找到容器") || strings.Contains(s, "未找到容器") {
97+
return true
98+
}
99+
return false
100+
}
101+
88102
// ContainerRunning 判断容器是否在运行
89103
func ContainerRunning(ctx context.Context, containerName string) (bool, error) {
90104
out, err := dockerCmd(ctx, "inspect", "-f", "{{.State.Running}}", containerName)
91105
if err != nil {
92-
if strings.Contains(string(out), "No such container") {
106+
if containerNotFound(out) {
93107
return false, nil
94108
}
95109
return false, fmt.Errorf("docker inspect: %w", err)

0 commit comments

Comments
 (0)