Mac miniにDocker DesktopとVOICEVOXをインストールしてCLI中心の開発環境を準備する
Mac miniを自宅サーバ兼ローカル開発環境として使うため、GUIをできるだけ開かずにCLI中心で使える環境を整えていきます。
今回は、Docker DesktopをHomebrew経由でインストールし、動作確認まで行いました。
また、音声読み上げ用にVOICEVOXもMac miniへインストールしました。
今後はDocker上でNeo4jを動かしたり、ローカルのVOICEVOXを使って天気アプリや通知アプリの音声読み上げに使う予定です。
参考にした記事
Docker DesktopやローカルLLM環境の構築については、以下の記事を参考にしました。
Mac Mini M4 16GBにOllama/AnythingLLM/gpt-oss-20bでローカルLLM構築
Docker Desktopのインストール方法については、以下の記事も参考にしました。
VOICEVOXについては、以下の記事を参考にしました。
VOICEVOX のインストール方法と初期設定 — Windows/Mac対応ガイド
Homebrewの–caskとは
Docker Desktopは、Homebrewの --cask を使ってインストールします。
--cask は、macOS用のGUIアプリをインストールするための指定です。
通常の brew install と brew install --cask では、インストールされるものが違います。
| コマンド | 対象 | 主な配置先 | 特徴 |
|---|---|---|---|
brew install |
CLIツール | /opt/homebrew/bin/ |
ターミナルで使うコマンドが中心 |
brew install --cask |
GUIアプリ | /Applications/ |
.app 形式のmacOSアプリが中心 |
Docker DesktopはGUIアプリなので、--cask を使います。
ただし、GUIアプリは初回起動時に規約同意や権限設定が必要になることが多いため、Mac miniをヘッドレス運用している場合でも、最初だけは画面共有で作業した方が安全です。
Docker Desktopをインストールする
HomebrewでDocker Desktopをインストールします。
brew install --cask docker
インストール後、Docker Desktopを起動します。
open -a Docker
初回起動時に、利用規約の画面が表示されます。
英語の規約画面が出たので、Accept をクリックしました。
Docker Desktopの初期設定
再度、Docker Desktopを起動します。
open -a Docker
初期設定画面が表示されるので、今回は以下を選びました。
Use recommended settings (requires password)
その後、Finish をクリックします。
管理者パスワードが必要になるため、画面共有や直接操作できる状態で進めるのがよさそうです。
Rosetta 2のインストール要求
Docker Desktopの初期設定中に、Rosetta 2のインストール要求が表示されました。
そのため、Install をクリックしてインストールしました。
Rosetta 2は、Apple Silicon MacでIntel向けアプリや一部の古いDockerイメージを動かすときに必要になることがあります。
すべてのDockerイメージで必要になるわけではありませんが、古いイメージや一部OSSを使う可能性があるため、入れておくことにしました。
Dockerログインはスキップ
次にDockerのログイン案内が表示されました。
今回はローカルでの検証が目的なので、Dockerアカウントへのログインはスキップしました。
これで一度Docker Desktopが起動したので、画面上のDocker Desktopは閉じておきます。
Dockerのバージョン確認
ターミナルでDockerが使えるか確認します。
docker version
実行結果は以下です。
Client: Version: 29.1.3 API version: 1.52 Go version: go1.25.5 Git commit: f52814d Built: Fri Dec 12 14:48:46 2025 OS/Arch: darwin/arm64 Context: desktop-linux Server: Docker Desktop 4.55.0 (213807) Engine: Version: 29.1.3 API version: 1.52 (minimum version 1.44) Go version: go1.25.5 Git commit: fbf3ed2 Built: Fri Dec 12 14:50:40 2025 OS/Arch: linux/arm64 Experimental: false containerd: Version: v2.2.0 GitCommit: 1c4457e00facac03ce1d75f7b6777a7a851e5c41 runc: Version: 1.3.4 GitCommit: v1.3.4-0-gd6d73eb8 docker-init: Version: 0.19.0 GitCommit: de40ad0
ClientとServerの両方が表示されているため、Docker Desktopのエンジンも起動できています。
hello-worldでDockerの動作確認
次に、Dockerの定番確認として hello-world を実行します。
docker run hello-world
実行結果は以下です。
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
198f93fd5094: Pull complete
95ce02e4a4f1: Download complete
Digest: sha256:d4aaab6242e0cace87e2ec17a2ed3d779d18fbfd03042ea58f2995626396a274
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(arm64v8)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
Hello from Docker! が表示されたため、Dockerの動作確認は成功です。
これで、Mac mini上でDockerコンテナを動かせる状態になりました。
次にやりたいこと
Dockerの動作確認ができたので、次はDocker上で以下を動かす予定です。
- Neo4j
- 必要に応じて各種検証用コンテナ
当初はVOICEVOXもDockerで動かすことを考えていましたが、今回はDocker版ではなく、Macアプリとしてローカルにインストールする方針にしました。
Mac miniにVOICEVOXをインストールする
次に、音声読み上げ用にVOICEVOXをMac miniへインストールします。
公式サイトは以下です。
公式サイトからmacOS用のDMGファイルをダウンロードします。
今回はMac mini環境に合わせて、以下のように選択しました。
- OS:Mac
- 対応モード:CPU
Mac版VOICEVOXは、GPU Metalには対応していないため、CPU版を選択します。
VOICEVOXをインストールする
ダウンロードしたDMGファイルを開きます。
その後、VOICEVOXアプリをアプリケーションフォルダへドラッグ&ドロップしてコピーします。
コピー後、アプリケーションフォルダからVOICEVOXを起動します。
これでVOICEVOXのインストールは完了です。
今回はDocker版VOICEVOXは使わない
以前はDocker版VOICEVOXを使うことも考えていました。
ただ、今回はMac mini上でローカルアプリとしてVOICEVOXを使う方針にします。
理由は、以下です。
- Macアプリとして入れた方が初期確認しやすい
- 音声作成の実験を先に行いたい
- 既存の天気アプリ側のソースを書き換えて接続テストしたい
そのため、Docker側ではNeo4jなどのデータ基盤を優先し、音声読み上げはローカルのVOICEVOXを使う形にします。
今回の結果
今回の作業で、以下の状態になりました。
- Homebrewの
--caskでDocker Desktopをインストールできた - Docker Desktopの初期設定を完了した
- Rosetta 2をインストールした
- Dockerログインはスキップした
docker versionでDockerのバージョンを確認できたdocker run hello-worldでDockerの動作確認ができた- VOICEVOXをMacアプリとしてインストールできた
ハマりどころ
–caskはGUIアプリ用
brew install --cask docker は、CLIツールではなくDocker DesktopというGUIアプリをインストールします。
そのため、インストール後に規約同意や初期設定が必要になります。
完全にSSHだけで済ませようとすると詰まる可能性があるため、初回だけは画面共有で作業した方が楽です。
Docker Desktopは起動していないとdockerコマンドが使えない
Docker Desktopをインストールしただけでは、Docker Engineが起動していない場合があります。
その場合、docker version や docker run が失敗することがあります。
まずは以下でDocker Desktopを起動します。
open -a Docker
VOICEVOXは今回はMacアプリ版を使う
VOICEVOXはDockerで動かす方法もありますが、今回はMacアプリ版を使います。
Mac版ではGPU Metalに対応していないため、CPU版を選びました。
今後の予定
次は、Docker上でNeo4jを起動し、Graph RAGや購買管理、金融データ分析などに使えるグラフDB環境を整える予定です。
また、VOICEVOXについては、天気アプリのソースを書き換える前に、まず音声生成だけを単体で試します。
まとめ
Mac miniをCLI中心の開発環境として使うために、Docker DesktopとVOICEVOXをインストールしました。
Docker DesktopはHomebrewの --cask でインストールできますが、GUIアプリなので初回起動時の規約同意や初期設定が必要です。
そのため、Mac miniをヘッドレス運用している場合でも、最初だけは画面共有で作業した方がスムーズです。
Dockerは hello-world まで確認できたため、次はNeo4jなどのコンテナ運用へ進めます。
VOICEVOXは今回はDocker版ではなく、Macアプリ版をインストールしました。今後、天気アプリや通知システムの音声読み上げに使っていく予定です。

コメント