Контекст следующий: мне нужно запустить ffmpeg в сервисе AWS Lambda, который развернут и собран с использованием Docker.Поскольку используемый нами образ докера не является debian и не включает в себя ffmpeg, я создал двоичный файл с помощью команды и добавил его в файлы проекта.Затем внутри Dockerfile я создаю ссылку на эти двоичные файлы, чтобы команда была включена в /bin.
Это Dockerfile:
FROM lambci/lambda:build-nodejs6.10
# Create app directory
WORKDIR /app
# Install app dependencies
COPY package.json .
COPY yarn.lock .
#add ffmpeg files
COPY binaries .binaries
#make link to ffmpeg
RUN ln -s /app/.binaries/bin/ffmpeg /bin/ffmpeg
RUN npm install --global yarn
RUN yarn install
RUN yarn global add serverless@~1.24.1
# Bundle app source
COPY . .
EXPOSE 8080
CMD [ "yarn", "run", "deploy" ]
Хотя, похоже, это работает на локальном компьютере.окружение (команда отвечает при вызове из консоли внутри образа докера), она не работает при развертывании на stage:
/bin/sh: ffmpeg: command not found