【问题标题】:ffmpeg seems to dissapear once docker is uploaded to elastic beanstalk将 docker 上传到弹性 beantalk 后,ffmpeg 似乎消失了
【发布时间】:2019-07-21 10:47:00
【问题描述】:

我有一个使用 ffmpeg 的 Node 后端。我使用多阶段构建构建了 docker,部分节点部分 ffmpeg(Dockerfile 稍后粘贴在下面)。构建完成后,我在本地访问 Docker 并看到 ffmpeg 已正确安装在其中。然后我将这个 docker 部署到弹性 beanstalk。奇怪的是,一旦在那里,当访问 docker 图像时,ffmpeg 就消失了。我完全不知道发生了什么,为什么部署时 docker 不一样。

这里有更多细节:

Dockerfile

FROM jrottenberg/ffmpeg:3.3-alpine
FROM node:11

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

# Create app directory
WORKDIR /usr/src/app

# Install app dependencies
COPY package*.json ./
RUN npm install

# If you are building your code for production
# RUN npm install --only=production

# Bundle app source
COPY . .

EXPOSE 6969
CMD [ "npm", "run", "start:production" ]

我使用以下命令构建 docker:

docker build -t <project-name> .

之后我通过这种方式访问​​本地 docker:

docker run -i -t <project-name> /bin/bash

当我输入“ffmpeg”时,it recognizes it 如果我尝试“whereis”,它会返回 /usr/local/bin。

然后我使用 eb 部署它

eb deploy

这就是事情变得有趣的地方

我通过 SSH 连接到我的 eb 实例。在那里,我找到容器 ID 并使用

docker exec -it <instance-id> bash

访问泊坞窗。它包含所有节点的东西,但缺少 ffmpeg。它不像部署之前那样在 /usr/local/bin 中。

我什至直接在 eb 上安装了 ffmpeg,但这对我没有帮助,因为节点后端在 docker 中搜索以找到 ffmpeg。非常感谢您从中看到的任何指针或危险信号,谢谢

编辑:Docker 版本的唯一区别是在本地运行的是 18.09 / API 1.39,而在 eb 上运行的是 18.06 / API 1.38

【问题讨论】:

  • 对于现在阅读本文的任何人,我做错了两件事 1) 我没有提交我的 Dockerfile,所以没有考虑到 2) 我的弹性 beanstalk t2.micro 实例没有'没有足够的 cpu 或 ram 来完成安装 ffmpeg,所以它超时了。完成这两件事后,它就起作用了

标签: docker ffmpeg amazon-elastic-beanstalk


【解决方案1】:

我的弹性 beanstalk t2.micro 实例没有足够的 cpu 或 ram 来完成安装 ffmpeg,所以它超时了。升级到 t2.medium 解决了这个问题

【讨论】:

    猜你喜欢
    • 2017-05-25
    • 2018-03-24
    • 2017-01-17
    • 2020-12-16
    • 2020-12-05
    • 1970-01-01
    • 1970-01-01
    • 2014-06-13
    • 2016-10-11
    相关资源
    最近更新 更多