Pythonで音楽系Webサービスを作るにあたり、素晴らしい音信号処理モジュールであるLibROSAと、様々なオーディオファイルを扱うには必須であるFFmpegをDockerに導入してみました。 最終的に、参考ページにあるような、(Nginx+)uWSGI+Flaskも入ったDocker コンテナを運用できるようになります。
参考ページ
Nginxコンテナ
参考ページそのままです
uWSGI+Flask+LibROSA+ffmpegコンテナ
Dockerfileを変更しました。
[2020年1月追記] FFmpeg Static Builds については、CPUアーキテクチャを確認して、以下のサイトのURLを使ってください。
John Van Sickle - FFmpeg Static Builds
なお、サンプルコードで指定した ffmpeg-release-64bit-static.tar.xz のURLが無効になっていました。CPUアーキテクチャがx86_64の場合、 https://www.johnvansickle.com/ffmpeg/old-releases/から指定してください。
# ベースイメージ FROM python:3.6 #FROM continuumio/anaconda3 # ===================== # FFMPEG # ===================== RUN apt-get update && apt-get install -y \ wget \ xz-utils WORKDIR /tmp RUN wget http://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz \ && tar Jxvf ./ffmpeg-release-64bit-static.tar.xz \ && cp ./ffmpeg*64bit-static/ffmpeg /usr/local/bin/ CMD /bin/bash # ===================== # uWSGI and PIP # ===================== RUN mkdir /var/www # workdirの指定 WORKDIR /var/www # 依存Pythonライブラリ一覧コピー COPY requirements.txt ./ # 依存Pythonライブラリインストール RUN pip install --upgrade pip RUN pip install --no-cache-dir -r requirements.txt WORKDIR /var/www/src CMD ["uwsgi","--ini","/var/www/uwsgi.ini"]