docker - 如何使 ffmpeg 在我的 Docker 容器中可用?
问题描述
我目前正在尝试使用该子句ffmpeg
在我自己的容器中运行 Docker 映像。但是当我尝试进入我的代码时,它似乎在系统范围内不可用,并且出现错误。我相信我错误地配置了 Docker。docker-compose
depends_on
ffmpeg
我目前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
停止工作。
解决方案
您正在混合两件事linking or depend_on
与multi-stage
图像。
Linking 或depend_on 用于 docker 容器网络通信,不访问链接容器安装的应用程序。
当您链接时,DB
这意味着您可以从本地主机连接数据库(容器中的 3306)
所以我建议在你的 nodejs 容器中安装 FFmpeg。
这是 Dockerfile 基于nodejs:alpine
哪个更轻量级nodejs:9
FROM node:alpine
RUN apk add --no-cache ffmpeg
如果您运行容器或签入容器,您将看到它工作正常。
更新:
您可以从 Docker 存储库中提取图像。
节点验证
docker run -it --rm adiii717/ffmpeg ash -c "node -v"
ffmpeg 验证
docker run -it --rm adiii717/ffmpeg ash -c "ffmpeg -version"
推荐阅读
- python-3.x - 如何将社交注册/登录与 Auth0 与 AWS Lambda 与 Python 集成?
- php - Yii 1.16 ORM findAll()
- javascript - 为什么轮值不同?
- python - 有没有办法在不将其记录到机器人框架中的 HTML 日志的情况下捕获页面截图?
- javascript - 反序列化来自 websocket 响应的数据
- python - 在 pypi 中查找私有包时出现 pip 错误
- bookdown - 如何在 LaTeX/PDF 中重新定义标准的 bookdown “定理环境”?
- javascript - 如何解决函数中的参数问题?
- sql - pg_dump 结束后执行命令
- c# - 使用卡付款时出现 PayPal 错误 10752 错误消息