「no matching manifest」やマウント失敗が出て、コンテナが起動しない。
最短の解決策は、MシリーズMacにApple silicon用のDocker Desktopを導入し、arm64またはマルチプラットフォームのイメージを優先することです。amd64専用の古いイメージだけを例外としてエミュレーションで動かし、固定バージョンや継続ビルドを複数人で運用する場合は、権限を絞った専用の遠隔Mac環境へ分離します。
このページは、初めてApple silicon搭載MacへDocker Desktopを導入する開発者、x86イメージ・ファイル共有・ディスク使用量で困っているチーム、共有されたMac上にコンテナ環境を引き渡すDevOps担当者向けです。単にインストールするだけでなく、壊れたときに環境を消さずに戻すところまで確認します。
導入前の確認項目
Docker Desktop Mシリーズ Mac環境では、最初のパッケージ選択を間違えると、後から権限やイメージの問題と見分けにくくなります。Macの「システム設定」からチップ種別を確認し、Docker公式の Mac向けインストール要件 に記載されたmacOS対応範囲と、Apple silicon用インストーラーを照合してください。
企業やチームで使う場合は、個人利用の感覚で導入を進めず、組織の規模・用途・契約条件に応じたDockerの利用許諾を確認します。ここを後回しにすると、技術的には動作していても、運用開始後に利用条件の見直しが発生します。
導入前に、次の項目をチェックします。
- [ ] チップがApple siliconであることを確認した
- [ ] Docker公式のmacOS対応範囲を確認した
- [ ] Apple silicon用インストーラーを選んだ
- [ ] 管理者権限を一時的に使える担当者を決めた
- [ ] コンテナ、イメージ、ボリュームを置く空き容量を確認した
- [ ] 企業利用の許諾条件を社内で確認した
- [ ] プロジェクトが必要とするDocker Desktop、Engine、Composeの条件を記録した
コンテナ内のrootユーザーと、Macホスト側の管理者権限は同じものではありません。コンテナでrootとして動いているからといって、Mac本体の管理者操作まで許可されるわけではないため、権限設計を混同しないでください。
注意:管理者パスワードを求められた場合は、何の機能を有効化する操作なのかを確認してから承認します。長期間、管理者セッションを開いたまま開発する方法は避けてください。
初回起動とバージョン記録
公式パッケージを取得したら、組織の手順に従ってアプリケーションを配置し、CLIのパスや権限設定を確認します。インストール後はDocker Desktopを起動し、初回の利用許諾、ファイル共有、仮想マシン関連の案内を読み飛ばさずに記録します。
確認すべき情報は、Docker Desktop本体、Docker Engine、Compose、仮想マシン管理機能のバージョンです。これらは同時に変わるとは限らず、障害報告時に本体だけを書いても再現条件が足りません。リリースノートは更新前後の差分確認に使い、プロジェクトごとに動作確認済みの組み合わせを残してください。
docker versiondocker compose versiondocker info- 使用中のイメージ名とタグ
uname -mで確認したホスト側アーキテクチャ
バージョン番号や対応条件は固定情報ではありません。導入時と大きなmacOS更新後に、Docker Desktopのリリースノート を再確認する運用にします。
arm64イメージへの移行
Apple silicon環境で最初に見るべきなのは、コンテナの設定ファイルではなく、ベースイメージとネイティブ依存ライブラリです。タグが存在していても、そのタグにarm64マニフェストがなければ、取得時にプラットフォーム不一致が発生します。
移行は次の順序で進めます。
- ベースイメージがarm64を提供しているか確認します。
- ネイティブモジュール、データベースドライバー、ビルドツールの対応状況を確認します。
docker buildx imagetools inspectなどで公開イメージの対応プラットフォームを確認します。- CIでは対象プラットフォームを明示し、開発機とビルドノードの前提をそろえます。
- 実行時にCPUアーキテクチャ依存のテストを追加します。
- arm64とamd64の両方を配布する必要がある場合は、マルチプラットフォームイメージとして公開します。
Docker公式のマルチプラットフォームビルド説明 でも、複数アーキテクチャ向けのビルド方法と、エミュレーションを使う場合の条件が整理されています。
amd64専用の古いイメージを動かす場合は、Composeファイルや実行手順に例外であることを明記します。暗黙のエミュレーションに頼ると、開発者のMacでは動くのにCIでは失敗する、またはビルド時間とメモリ使用量が大きく変わる、といった再現性の問題が起きます。性能を比較する場合も、イメージのアーキテクチャ、処理内容、割り当てたCPUとメモリを同じ条件にしてください。
資源・ディスク・ファイル共有
Docker DesktopはMac上でLinuxコンテナ用の仮想環境を動かすため、コンテナが使用する資源とmacOS側のアプリケーションが同じホスト資源を取り合います。コンテナ数、コンパイル処理、データベースのI/Oを確認せずに設定を増やすと、ホスト側のIDEやブラウザーまで不安定になります。
設定では、次の順に決めます。
- 常時起動するサービスと、必要時だけ起動するサービスを分ける
- コンパイルやテストの同時実行数を基準にCPUとメモリを調整する
- データベースの永続データを、再生成可能なキャッシュと分ける
- 仮想ディスクの上限を決め、増加を定期的に確認する
- プロジェクト全体ではなく、必要なディレクトリだけを共有する
共有範囲が広すぎると、ファイル監視や大量の小ファイルの読み書きで体感速度が落ちる場合があります。Docker公式の同期ファイル共有の説明 を確認し、ソースコード、依存キャッシュ、生成物の置き場所を分離してください。
ディスクが膨らんだときは、まず使用量の内訳を確認します。不要なイメージ、停止済みコンテナ、使われていないボリューム、古いビルドキャッシュを分類し、削除後に再取得できるものから整理します。データベースのボリュームを「未使用」と判断して削除すると、ソースコードが残っていてもデータは戻りません。
経験上、初期化は最後の手段です。必要なボリューム、Compose設定、秘密情報をバックアップし、Docker公式のバックアップと復元手順 を確認してから環境を変更してください。
ネットワークと開発ツールの接続
基本のコンテナ起動だけでなく、開発に必要な経路を個別に確認します。ホストから公開ポートへ接続できるか、コンテナから外部サービスへ接続できるか、プロキシ経由でイメージを取得できるかを分けて試します。
プライベートレジストリを使う場合は、ログイン情報をComposeファイルやシェル履歴へ直接書き込まないでください。IDE連携では、CLIの参照先、ソケットのパス、使用ユーザーが一致しているかを確認します。低い番号のポートや既定ソケットが必要でも、常時管理者権限で起動する設計にはしません。
確認項目は次のとおりです。
docker pullで必要なイメージを取得できるdocker buildが指定したプラットフォームで完了する- ポート公開後にホストから接続できる
- コンテナからDNS、プロキシ、社内サービスへ接続できる
- IDEから正しいDocker Engineへ接続できる
- プライベートレジストリの認証情報が安全に管理されている
- 再起動後も必要なCompose設定が再現できる
障害の切り分け
起動しないときは、最初から環境をリセットせず、エラーの種類を分類します。
no matching manifest:arm64用のマニフェストがない、または指定タグが異なりますexec format error:実行ファイルとコンテナのアーキテクチャが合っていない可能性があります- マウント拒否:共有ディレクトリの範囲、パス、権限を確認します
- ソケット接続失敗:CLIやIDEが参照するソケットと、起動中のEngineを確認します
- 起動直後の停止:仮想化、ディスク、メモリ、ログの順に確認します
Docker.appの破損表示:再取得や署名確認を含む公式の破損ダイアログ対処手順 に従います
Docker Desktopの診断ログと、公式のトラブルシューティング項目 を照合すると、アーキテクチャ、権限、仮想化、容量のどこで止まったかを絞り込めます。既知の不具合に該当する可能性がある場合は、公式の既知の問題一覧 と利用中のリリースを照合します。
FAQ:導入時の判断
FAQでは、導入前に判断が分かれやすい点を独立して整理します。
MシリーズMacではどのDocker Desktopを選べばよいですか?
Apple silicon搭載Macでは、Docker公式のMac向けインストールページからApple silicon用パッケージを選びます。Intel用パッケージを誤って導入しないよう、Macのチップ種別を「システム設定」で確認してから取得してください。macOSの対応範囲と組織の利用条件も、導入前に同じ公式資料で確認します。
Apple siliconのMacでx86向けDockerイメージを動かせますか?
動かせますが、amd64向けイメージはエミュレーション経由になるため、ビルドや実行の安定性をarm64ネイティブ環境と同じ前提で扱わないでください。まずarm64またはマルチプラットフォームのベースイメージへ移行し、置き換えられない古い依存だけを例外として管理する方法が安全です。
Docker Desktopのディスク使用量が大きい場合はどう整理しますか?
最初に不要なイメージ、停止済みコンテナ、未使用ボリューム、ビルドキャッシュを分類し、再取得できるものから削除します。データベースの永続ボリュームや再現に必要な設定を先に確認し、いきなり初期化やアンインストールを実行しないでください。バックアップと復元の手順も事前に残します。
共有または遠隔のMac環境でDockerをどう検収すればよいですか?
検収では、指定ユーザーでのログイン、イメージ取得、arm64イメージのビルド、ポート接続、ボリュームの永続化、再起動後の復旧、ログ採取を順に確認します。固定バージョンの案件では、Docker Desktopとプロジェクト設定を記録し、更新前に短期間の試運転と切り戻し用イメージを用意します。
共有環境の引き渡し手順
遠隔Macをチームへ渡す場合は、「Docker Desktopが起動した」だけでは検収完了にしません。次の順序で、実際のプロジェクト用イメージを使って確認します。
- 利用者ごとのアカウント、管理者権限、SSHなどの接続経路を確認します。
- Docker Desktop、Engine、Compose、macOSのバージョンを記録します。
- プライベートレジストリから対象イメージを取得します。
- arm64イメージをビルドし、必要ならamd64互換イメージも別テストとして実行します。
- ポート、プロキシ、DNS、IDE接続を確認します。
- ボリュームへテストデータを書き込み、Docker DesktopとMacを再起動します。
- 再起動後にコンテナ、ボリューム、ログが想定どおり復元されるか確認します。
- ログの採取場所、ディスク清掃の担当者、障害時の連絡経路を文書化します。
固定バージョンの案件では、自動更新を無条件に許可せず、更新窓口を設けます。更新前のイメージ、Composeファイル、環境変数、復元手順を保存し、変更後に同じビルドと再起動テストを再実行してください。
自社で用意した遠隔Macを短期間の検証に使う場合は、Mac miniレンタルの利用条件 と、接続や運用に関する ZavCloudのヘルプセンター を確認できます。実際のプロジェクトイメージで試運転し、必要な権限と容量が分かってから長期運用へ移すのが適切です。
現地環境と遠隔Macの選択
手元のMシリーズMacは、物理デバイスへの接続、ローカルIDEとの連携、短い反復開発に向いています。一方で、固定バージョンのビルド、夜間の継続処理、複数人での共有では、個人のMacを常時稼働させる方法に電源管理、ユーザー分離、再起動復旧、容量監視の負担が残ります。
その場合は、ZavCloudの遠隔Mac環境を短期間レンタルし、まず実際のイメージで検証する方法が現実的です。自宅や担当者のMacを共有するより、接続権限と変更履歴を整理しやすく、担当者が不在でも同じ環境を引き継ぎやすくなります。ただし、長期間の高負荷処理で構成が完全に固まっている場合や、物理ポート・専用周辺機器が必要な案件では、自社保有のMacや専用設備のほうが適しています。
Last updated:2026年9月4日。 システム要件、権限、既知の問題、リリース情報は、執筆時点で確認した Docker公式のMacインストール資料、権限要件、リリースノートを基準にしています。Docker DesktopまたはmacOSの大きな更新後は、arm64とamd64の両方で再確認してください。
ZavCloud Developer Infrastructure
Mシリーズ対応の開発環境を、必要な期間だけZavCloudで
専有のM4 Mac miniと完全なmacOS環境を、ARM64対応の開発や検証にすぐご利用いただけます。
SSHとVNCに対応しているため、手元の端末を問わず遠隔からビルドや設定作業を進められます。