Docker for Macのコンテナ上で音楽を再生する
通常、コンテナ上で音を鳴らしてもMacで再生することはできませんが、Pulseaudioを使用することで音をコンテナ上で鳴らした音をMacで再生することができます。
Pulseaudio
PulseAudioはバックグラウンドで動作するサウンドサーバであり、音声データをサウンドカードや他のPulseAudioサーバーなどに送信する事ができますアプリケーションです。
設定手順
1. Pulseaudioのインストール
$ brew install pulseaudio
2. Pulseaudioを起動
$ pulseaudio --load=module-native-protocol-tcp --exit-idle-time=-1 --daemon
動作確認
$ pulseaudio --check -v
3. Dockerfileに以下を追記
RUN apt-get install -y pulseaudio
4. docker-compose.yml
version: "3.3"
services:
service_name:
build: .
environment:
- PULSE_SERVER=docker.for.mac.localhost
volumes:
- ~/.config/pulse:/root/.config/pulse
終わりに
機械学習の学習がいつ終わったのか分かりづらかったので、学習終了時に音を出して通知するようにしました。Pythonで音を鳴らすのは結構楽しかったです。