djangoでwebアプリを作っている時に、m4a形式の音声をwav形式に変換するために、docker環境にpydubを入れようとしたのですが、pydubを使うためにはffmpegというossをインストールする必要があるとのことでした(pydubはffmpegのラッパーとのこと)。
ところがffmpegの公式ページに行くとコマンドでのインストール方法が見つからなく、必要なコマンドをDockerfileに書けないなといった状況でした。幸い、githubで参考になる書き方を見つけたので、時間を溶かさずにすみましたが、忘れないように備忘録としてメモします。
Dockerfile
FROM python:3.8
ENV PYTHONBUFFERD 1
RUN mkdir /workspace
WORKDIR /workspace
COPY requirements.txt /workspace/
RUN apt-get update && \
apt-get -y install ffmpeg libavcodec-extra && \
pip install --upgrade pip && \
pip install -r requirements.txt
CMD ["python3","manage.py","runserver","0.0.0.0:8000"]
EXPOSE 8000
このようなDockerfileをbuildすることで、Docker環境で無事ffmpegをインストールし、pydubを使うことができました(requirement.txt内にpydubを書く)。
なお、参考にしたgithubのurlは下記です。
https://github.com/546669204/docker-pydub/blob/master/Dockerfile