【问题标题】:Adding ffmpeg to to docker(Alpine base image)将 ffmpeg 添加到 docker(Alpine 基础映像)
【发布时间】:2021-12-11 21:40:22
【问题描述】:

我正在尝试将 FFmpeg 添加到具有 alpine 基础映像的 docker 容器中。我收到此错误

2021-10-26 13:45:42] ffmpeg version 4.2.4 Copyright (c) 2000-2020 the FFmpeg developers
[2021-10-26 13:45:42]   built with gcc 9.2.0 (Alpine 9.2.0)
[2021-10-26 13:45:42]   configuration: --prefix=/usr --enable-avresample --enable-avfilter --enable-gnutls --enable-gpl --enable-libass --enable-libmp3lame --enable-libvorbis --enable-libvpx --enable-libxvid --enable-libx264 --enable-libx265 --enable-libtheora --enable-libv4l2 --enable-postproc --enable-pic --enable-pthreads --enable-shared --enable-libxcb --disable-stripping --disable-static --disable-librtmp --enable-vaapi --enable-vdpau --enable-libopus --disable-debug
[2021-10-26 13:45:42]   libavutil      56. 31.100 / 56. 31.100
[2021-10-26 13:45:42]   libavcodec     58. 54.100 / 58. 54.100
[2021-10-26 13:45:42]   libavformat    58. 29.100 / 58. 29.100
[2021-10-26 13:45:42]   libavdevice    58.  8.100 / 58.  8.100
[2021-10-26 13:45:42]   libavfilter     7. 57.100 /  7. 57.100
[2021-10-26 13:45:42]   libavresample   4.  0.  0 /  4.  0.  0
[2021-10-26 13:45:42]   libswscale      5.  5.100 /  5.  5.100
[2021-10-26 13:45:42]   libswresample   3.  5.100 /  3.  5.100
[2021-10-26 13:45:42]   libpostproc    55.  5.100 / 55.  5.100
[2021-10-26 13:45:42] [NULL @ 0x7fd61378e180] Unable to find a suitable output format for 'yarn'
[2021-10-26 13:45:42] yarn: Invalid argument

这是我的 dockerfile

FROM node:erbium-alpine

ARG NODE_ENV=development
ENV NODE_ENV=${NODE_ENV}

RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

COPY . /usr/src/app/

RUN apk upgrade -U \ 
    && apk add ca-certificates ffmpeg libva-intel-driver \
    && rm -rf /var/cache/*

RUN yarn install --frozen-lockfile && \
    yarn cache clean

EXPOSE 3030
ENTRYPOINT ["/usr/bin/ffmpeg"] 
CMD ["yarn", "start"]

我做错了什么?

【问题讨论】:

  • 1) 您并不是说在构建映像或从中运行容器时是否遇到问题。据我了解,这是在运行时(表明安装 ffmpeg 不是问题),但您应该在问题中更明确地说明这一点(=> edit)。 2)您的ENTRYPOINTCMD 设置基本上是在配置您的图像以在容器启动时运行以下默认命令:/usr/bin/ffmpeg yarn start。除非我离开太久,否则这是行不通的。请编辑您的问题并准确解释您要达到的目标。
  • ENTRYPOINTCMD 放在一起的行为没有改变,正如@Zeitounator 所指出的那样,它们组合在一起形成要运行的单个命令。请参阅 Dockerfile 文档中的 Understand how CMD and ENTRYPOINT interact
  • @Zeitounator,@David Maze 感谢您的回复。我意识到我不需要 ENTRYPOINT,所以我删除了它,一切正常

标签: docker ffmpeg dockerfile digital-ocean alpine


【解决方案1】:

通过删除 ENTRYPOINT 来修复它,因为我意识到我不需要它。在我的代码中,我将 ffmpeg 作为子进程旋转

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    • 2016-10-15
    • 2021-10-05
    • 2017-04-18
    • 1970-01-01
    • 2018-09-23
    • 2020-01-21
    相关资源
    最近更新 更多