Mac miniにDocker DesktopとVOICEVOXをインストールしてCLI中心の開発環境を準備する

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のインストール方法については、以下の記事も参考にしました。

MacにDockerをインストールするための3つの方法

VOICEVOXについては、以下の記事を参考にしました。

VOICEVOX のインストール方法と初期設定 — Windows/Mac対応ガイド

Homebrewの–caskとは

Docker Desktopは、Homebrewの --cask を使ってインストールします。

--cask は、macOS用のGUIアプリをインストールするための指定です。

通常の brew installbrew 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へインストールします。

公式サイトは以下です。

VOICEVOX 公式サイト

公式サイトから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 versiondocker 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アプリ版をインストールしました。今後、天気アプリや通知システムの音声読み上げに使っていく予定です。

コメント

タイトルとURLをコピーしました