gpt4 book ai didi

node.js - ffmpeg 安装在现有的 Node.js docker 镜像中

转载 作者:搜寻专家 更新时间:2023-10-31 23:40:04 25 4
gpt4 key购买 nike

我需要在运行在 docker 容器(使用 docker-compose 创建)中的 Node.js 应用程序中使用 ffmpeg。我是 Docker 的新手,想知道如何在创建图像时命令 Docker 安装 ffmpeg。

Docker 文件

FROM node:carbon
WORKDIR /usr/src/app

# where available (npm@5+)
COPY package*.json ./
RUN npm install -g nodemon
RUN npm install --only=production
COPY . .

EXPOSE 3000
CMD [ "npm", "start" ]

package.json:

{
"name": "radcast-apis",
"version": "0.0.1",
"private": true,
"scripts": {
"start": "node ./bin/www",
"dev": "nodemon --inspect-brk=0.0.0.0:5858 ./bin/www"
},
"dependencies": {
"audioconcat": "^0.1.3",
"cookie-parser": "~1.4.3",
"debug": "~2.6.9",
"express": "~4.16.0",
"firebase-admin": "^5.12.1",
"http-errors": "~1.6.2",
"jade": "~1.11.0",
"morgan": "~1.9.0"
},
"devDependencies": {
"nodemon": "^1.11.0"
}
}

docker-compose.yml:

version: "2"
services:
web:
volumes:
- "./app:/src/app"
build: .
command: npm run dev
ports:
- "3000:3000"
- "5858:5858"

最佳答案

ffmpeg-static 可以正常工作,但这意味着每次更改 package.json 或 package.json 的 COPY 命令上方的任何内容时,您都必须等待 npm install 命令重新下载 bin .

还有另一种方法,使用multi-stage builds .此方法不需要重新下载或重建 ffmpeg。 jrottenberg/ffmpeg 处有预构建的 ffmpeg 图像.

对于 alpine,你的图像看起来像这样......

FROM jrottenberg/ffmpeg:3.3-alpine
FROM keymetrics/node:8-alpine

# copy ffmpeg bins from first image
COPY --from=0 / /

相关问题:Copy ffmpeg bins in multistage docker build

关于node.js - ffmpeg 安装在现有的 Node.js docker 镜像中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50693091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com