如何在我的Docker容器中提供ffmpeg?

时间:2018-04-26 23:39:15

标签: docker ffmpeg docker-compose

我目前正在尝试使用ffmpeg子句在我自己的容器中使用docker-compose运行depends_on Docker镜像。但是当我尝试在我的代码中找到ffmpeg时,似乎它在系统范围内不可用并且我收到错误。我相信我错误配置了Docker。

我当前的Dockerfile如下:

FROM node:9

WORKDIR /usr/app

COPY package*.json ./

RUN npm install --quiet

COPY . .

我的docker-compose.yml

version: '3'
services:
  app:
    build: .
    command: npm run dev
    volumes:
    - .:/usr/app/
    - /usr/app/node_modules
    ports:
      - "3000:3000"
    depends_on:
      - ffmpeg
  ffmpeg:
    image: jrottenberg/ffmpeg:3.3

当我运行docker-compose up时,我可以看到ffmpeg实际上正在运行,但随后我的应用程序开始启动,似乎ffmpeg停止工作。

1 个答案:

答案 0 :(得分:5)

您正在混合两件事linking or depend_onmulti-stage图片。

  

链接或depend_on用于docker容器网络通信而不是   访问已安装链接容器的应用程序。

链接DB时,这意味着您可以从localhost(容器中的3306)连接数据库

那么我建议在你的nodejs容器中安装FFmpeg。

这是基于nodejs:alpine的Dockerfile,它比nodejs:9

更轻量级
FROM node:alpine
RUN apk add  --no-cache ffmpeg

如果您运行容器或检查容器,您将看到它正常工作。

enter image description here