问题内容
您好,我正在使用以下 docker 映像:
from golang:alpine3.18
登录后复制
使用 ffmpeg:(可能在这里我遗漏了一些东西)
run apk add --no-cache ffmpeg
登录后复制
但是当尝试执行以下操作时:
cmd := "ffmpeg -i untitled.mp4 -vf "fps=5,scale=320:-1:flags=lanczos" -c:v pam -f image2pipe - | convert -delay 5 - -loop 0 -layers optimize test.gif"
_, err := exec.command("bash", "-c", cmd).output()
if err != nil {
fmt.println(fmt.sprintf("failed to execute command: %s", err))
}
登录后复制
我收到此错误:
Failed to execute command: exec: "bash": executable file not found in $PATH
登录后复制
正确答案
Alpine docker 镜像默认没有安装 bash。它使用 Ash shell 来代替
答案已经在这里 Docker:如何将 bash 与基于 Alpine 的 docker 镜像一起使用?
以上就是Docker golang + ffmpeg 执行命令失败的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!