Macで開発環境を整えたいものの、Dockerの導入手順や仕組みが複雑に感じて手が止まっていませんか?
ここでは、ダウンロードからクジラアイコンが安定するまでの流れを具体的に示し、さらにデータベースやエディタとの連携まで丁寧に案内します。初めてでも順番どおりに試すだけで、つまずきやすい設定や権限の壁を軽やかに越えられます。
作業を始める前にターミナルを開き、気になる手順を確認しながら一歩ずつ進めてみてください。完了後には、どこでも同じ動きを再現できる開発環境が手に入り、学習や試作に掛ける時間を大幅に節約できます。
MacにDockerを入れて動かすまでのやさしい道順

MacでDockerをこれから始めたいとき、準備から動かすまでの流れをざっくりつかむと安心です。
- Docker Desktopを入手:公式サイトからApple SiliconかIntelチップ向けのインストーラをダウンロードします。
- アプリをインストール:ダウンロードしたdmgを開いてアプリケーションフォルダにドラッグ&ドロップします。
- 初回起動&リソース調整:Docker Desktopを起動して、設定画面でCPUやメモリを必要に応じて割り当てます。
- 動作確認:ターミナルで
docker run hello-world
を実行して、コンテナが正常に動くか確かめます。 - Colimaを選ぶ方法:軽量なCLI環境を好む人はHomebrew経由でColimaとLimaを導入するのもおすすめです。
必要な手順はたったのこれだけです。もしMacのリソースを節約したいならColima、GUIでサクッと始めたいならDocker Desktopを選ぶと楽に進められます。
インストール後はDocker Desktopのアップデート通知を見逃さないようにすると、最新機能やセキュリティパッチをすぐに取り込めます。
DockerDesktopを使う

DockerDesktopはMacにすっとなじむジャストフィットな道具です。インストーラーをダウンロードしてアイコンをクリックするだけで、Dockerの世界に足を踏み入れられます。
コンテナやイメージをGUIでチラ見して管理できるのがうれしいポイントです。コマンドラインがちょっと苦手でも、アイコンをポチポチするだけで状態をチェックできるのは心強い味方になります。
さらに、Kubernetesをワンクリックで有効化できるから、ローカル環境でマイクロサービスを試したいときにもサクサク動かせます。ただし、便利なぶんメモリやCPUを多めに使うので、アクティビティモニタで負荷をときどき確認してみてください。
①Safariで公式サイトを開く
SafariのアイコンをDockやホーム画面から探してタップします。
画面上部のアドレスバーをタップして、https://www.docker.com/products/docker-desktop
を入力します。
入力が終わったらキーボード右下の「移動」をタップして公式サイトを読み込みます。
②DownloadDockerボタンを押す
Docker公式サイトのトップページにあるDownloadDockerボタンを見つけてクリックしてください。
Appleシリコン搭載のMacならボタン下にあるAppleシリコン用リンクを選ぶと最適化されたインストーラーを取得できます。
③ダウンロードしたdmgを開く
ダウンロードが終わったらFinderを開いて「ダウンロード」フォルダから先ほど手に入れたdmgファイルを見つけましょう。
ダウンロードフォルダにある「Docker.dmg」などのファイルをダブルクリックして開きます。
しばらく待つとデスクトップに「Docker」などのディスクアイコンが現れます。これで開く準備ができました。
Gatekeeperの確認が出たら「開く」を選ぶとうまく進みます。
④DockerアイコンをApplicationsへドラッグ
ダウンロードフォルダにあるDocker.dmgをダブルクリックで開くと表示されるDockerアイコンを、FinderサイドバーのApplicationsフォルダへドラッグします。
ドラッグするとコピーが始まります。管理者パスワードの入力を求められる場合があるので、慌てずに入力してください。
ApplicationsフォルダにDockerアイコンが表示されたらインストール完了です。アイコンを起動するとDockerが動き始めます。
⑤LaunchpadからDockerを起動
DockにあるロケットアイコンをクリックしてLaunchpadを起動します。
もしDockに見当たらないときは、Finderの「アプリケーション」フォルダからLaunchpadを選んでください。
Launchpadの検索バーに「Docker」と入力し、表示されたDockerアイコンをクリックします。
初めて起動するときはアクセス許可やパスワード入力を求められるので、表示に従って進めてください。
⑥メニューバーのクジラが安定するまで待つ
Dockerを立ち上げるとメニューバーのクジラアイコンがくるくる動き出します。この動きは裏側でコンテナの初期設定が進んでいる合図なので、アイコンが穏やかな波の動きに落ち着くまでじっと待ちましょう。
Mチップ搭載Macでは初回起動に少し時間がかかることがありますが、慌てずに待つことで余計なエラーを防げます。2分以上待っても動きが止まらない場合は、クジラアイコンをクリックしてログを開くと何が起きているか確認できます。
HomebrewでDockerを入れる

「Homebrew」を使うと、ターミナルからサクッとDockerを導入できます。パッケージ管理が自動化されるので、依存関係に悩まされずに済みます。
たとえば、brew install –cask dockerを実行するだけでDocker Desktopがインストールされます。Appleシリコン(M1/M2)でも対応済みなので、安心して最新OS環境で使い始められます。
アップデートもbrew upgrade –cask dockerだけで完了。後からバージョンを気にせず、いつでも新機能を試せるのが大きな魅力です。
①Terminalを開く
DockにあるTerminalアイコンをクリックします。見当たらないときはLaunchpadを開いて探してみましょう。
もっと速く開きたいときはキーボードでCommandキー+Spaceを押してSpotlightを起動し、「Terminal」と入力すれば一発で起動できます。
②brewinstall–caskdockerを実行
HomebrewならコマンドだけでDockerを入れられるので初めてでも安心です。
brew update
でレポジトリ情報を最新化します。
brew install --cask docker
を実行してDockerを導入します。
アプリケーションフォルダからDockerを立ち上げてクジラアイコンがメニューバーに出ればOKです。
初回起動時にシステム権限の許可を求められることがあります。
③brewinstalldocker‐composeを実行
ターミナルに以下のコマンドを入力してdocker-composeをインストールしましょう。
brew install docker-compose
しばらく待つとインストールが終わるので、続けてバージョンを確認して正しく導入できたかチェックしてください。
docker-compose --version
④ApplicationsからDockerを起動
まずはFinderでApplicationsフォルダを開いてください。
その中からDockerのアイコン(クジラのマーク)を探してダブルクリックします。
はじめて起動する場合はmacOSが権限を確認してくるので、画面の案内に沿ってパスワードを入力してください。
起動中はメニューバーにクジラのアイコンが現れて、白いリングがくるくる回ります。
⑤メニューバーのクジラを確認
インストールが終わったら、まずは画面右上のメニューバーにクジラのアイコンが表示されているか確かめてください。
メニューバーにクジラがいないときは、Spotlight(⌘+スペース)で「Docker」と入力して起動してください。
起動直後は内部処理が走っているため、アイコンがアニメーションで動きます。動きが止まるまでおだやかに待ちましょう。
クジラアイコンが表示されない場合はインストールに問題がある可能性があります。その際は再起動や再インストールを試してください。
Dockerが走ったらすぐ試したい応用ワザ

Dockerが無事に動きはじめたら、ただの箱として使うのはもったいないですよね。ここでは手軽に試せるちょっとした応用ワザをまとめています。
応用ワザ | どんなときに役立つか |
---|---|
Docker Composeで一発起動 | Webサーバー+DBなど複数コンテナをまとめて動かしたいときに便利です |
ボリュームマウント活用 | ホストのソースをリアルタイムで反映してコーディング・動作確認をスムーズに進められます |
マルチステージビルド | 開発用ツールを切り離して本番用イメージをぐっと軽量化できます |
イメージキャッシュ活用 | Dockerfileを見直してキャッシュをうまく使うと、ビルドがびっくりするほど速くなります |
コンテナネットワーク分離 | 開発中のサービスを本番環境から完全に切り離して安全に試したいときに心強いです |
HEALTHCHECK設定 | コンテナの稼働状態を自動でチェックして、異常発生時に再起動させる仕組みを簡単に追加できます |
ここで挙げた応用ワザはどれも手順はシンプルですが、使いこなすと開発スピードがぐっと速まります。次の見出しで、それぞれの設定方法や実体験に基づくちょっとしたコツをお伝えしていきます。
MySQLコンテナを作ってみる

MySQLコンテナはDocker公式のイメージを利用して、環境を丸ごと再現できる手軽な方法です。ローカルのパソコンにソフトを直接インストールする必要がなく、バージョン変更や複数DBを扱うときも簡単に切り替えられます。
コンテナを起動するときにデータ保存用のボリュームを指定すれば、データの永続化もバッチリ対応できます。ポート番号や認証情報の設定も環境変数でぱぱっと決められるので、初学者でも戸惑いにくいです。
- ローカルだけで素早くDB環境を用意:OSやインストール手順を気にせず試せます。
- バージョン違いの検証:MySQL5系から8系まで使い分けOK。
- チームでの環境共有:docker-compose.ymlを渡すだけでみんな同じ設定。
dockerpullmysqlを実行する
公式のMySQLイメージをローカルにダウンロードします。
ターミナルで次のコマンドを入力してEnterを押します。
docker pull mysql:latest
ダウンロードが完了するとイメージIDが表示されます。
タグを指定しないと最新版(mysql:latest)が取得されます。安定したバージョンを使いたいときは「mysql:8.0」のように明記してください。
dockerrunでポートを開ける
コンテナ側で使うポート(例:80)とホスト側で受け取るポート(例:8080)を決めます。
以下のように -p オプションでマッピングします。
docker run -d -p 8080:80 –name mycontainer イメージ名これでホストの8080番にアクセスすると、コンテナの80番に届きます。
ホストのポートが他のサービスで使われていないか事前に確認してください。
SequelAceで接続を試す
アプリを立ち上げたら左上の+アイコンをクリックして「新規接続」を選んでください。
以下のように入力してください。
項目 | 入力内容 |
---|---|
Host | 127.0.0.1 |
Port | 3306(Docker起動時に変えていなければ) |
User | root |
Password | 先ほど設定したパスワード |
Database | 任意のデータベース名 |
もしポート番号を忘れたときはターミナルでdocker ps
を実行して確認できます。
「接続」ボタンを押してステータスがグリーンになれば完了です。もしエラーが出たらポートやパスワードを再チェックしてみてください。
VSCodeRemoteContainersで開発空間を作る

VSCodeのRemote Containers拡張を使うと、Docker上に自分専用の開発空間をパパッと用意できます。Macにライブラリをゴリゴリ入れなくても、コンテナ内に必要なツールやランタイムをまとめて置けるので、環境構築の迷子になりません。
この仕組みのいいところは、devcontainer.jsonという設定ファイルに必要なDockerイメージや拡張を定義しておけば、チーム全員がまったく同じ開発環境を立ち上げられる点です。初期設定を共有リポジトリに置いておけば、新人さんもコマンドひとつで合流できます。
プログラマー的な裏ワザとして、Dockerfileにキャッシュ用のステップを仕込んでビルド時間を短くしたり、VSCodeのリモートデバッグ機能でコンテナ内アプリをそのままステップ実行したりできます。ポートフォワード設定もdevcontainer.jsonに書いておくと、起動するたびに面倒な操作が不要になります。
VSCodeでRemoteContainers拡張を入れる
VSCode左側のアイコンバーから四つの四角が集まった拡張機能アイコンをクリックしてください。
上部の検索バーにRemote Containersと入力してください。
リストからMicrosoft製の「Remote – Containers」を見つけ、インストールボタンを押してください。
インストール後に表示されるダイアログから再読み込みを選んで、拡張機能を有効にしましょう。
注意:非公式の似た名前の拡張があるので必ずMicrosoft製か確認してください。
devcontainer.jsonを用意してOpenFolderInContainer
プロジェクトのルートに.devcontainerフォルダーを作成して、開発環境を定義するdevcontainer.jsonを配置しましょう。
{ “name”:”nodejs-sample”, “image”:”mcr.microsoft.com/devcontainers/javascript-node:16″, “workspaceFolder”:”/workspace”, “extensions”:[“dbaeumer.vscode-eslint”] }配置が完了したらVSCodeを開き、左下の緑色アイコンからOpenFolderInContainerを選択します。先ほどのプロジェクトフォルダーを指定すると自動でコンテナが起動します。
ホットリロードで変更を確認
ソースコードを更新すると即座にコンテナ内に反映されるように設定しておくと、保存してブラウザを開くだけで変更を確認できます。
エディタでソースコードを修正して保存します。ホスト側の変更がマウントされたコンテナ内に反映される設定になっていれば準備OKです。
ブラウザを開くと自動で更新が反映されています。必要に応じて開発者ツールのネットワークタブでキャッシュを無効化すると確実に最新状態を表示できます。
Docker for Macでファイル同期が遅い場合は、chokidar
のポーリングモードを使うと反映速度が改善します。
トラブル時のコンテナリセット

コンテナが急に起動しなくなったり、思った動きをしなくて困ったときは、リセットでスッキリ元通りに戻せると助かります。
リセットをすると、現在動いているコンテナをぜんぶ停止して削除し、新しいイメージから作り直せるので、設定ファイルの変更漏れやキャッシュ残りの心配がなくなります。コマンドを一つ叩くだけで初期状態に戻せる手軽さも魅力です。
ただし、中のデータもいっしょに消えてしまうので、ログや永続化が必要なファイルはボリュームに切り出しておくと安心です。大切な情報はバックアップを忘れずに、すっきりリセットを楽しみましょう。
メニューバーからResettoFactoryDefaultsを選ぶ
画面右上のDockerアイコン(クジラマーク)をクリックしてメニューを開き、メニュー内にあるTroubleshootを選んでください。
表示されたTroubleshoot画面の下部にあるReset to Factory Defaultsボタンをクリックします。
リセットを実行すると、すべてのコンテナ・イメージ・ボリュームが削除されるため、大切なデータは事前にバックアップしてください。
dockerpruneコマンドで不要データを掃除
まずはどれだけ不要なコンテナやイメージがあるかチェックしましょう。docker system df
でディスク使用状況がわかります。
使っていないコンテナやイメージ、ネットワークを一気に消したいときはdocker system prune -a
を実行します。不要なボリュームも含めたい場合は--volumes
オプションを追加してください。
実行後に確認メッセージが出るので、問題なければy
を入力します。
ボリュームを消すと中のデータが完全に消えるので、本番データはバックアップを取ってから実行してください。
よくある質問

Docker Desktopが起動できません。「仮想化が無効です」と表示されます。どうすればいいですか?
- Docker Desktopが起動できません。「仮想化が無効です」と表示されます。どうすればいいですか?
-
Docker Desktopを初めてインストールした直後は、macOSのセキュリティ機能が仮想化用のシステム拡張をブロックしていることがあります。システム設定>プライバシーとセキュリティ>一般で「Docker Developer Tools」を許可してから再起動してみてください。それでもエラーが出るときは、Intel版Macなら再起動後に[オプション]キーを押しながら起動して仮想化支援機能を有効にするか、AppleシリコンならDocker DesktopのAppleチップ対応版をダウンロードしてください。
インストール後にターミナルでdockerコマンドが見つかりません。どうすればいいですか?
- インストール後にターミナルでdockerコマンドが見つかりません。どうすればいいですか?
-
Docker DesktopのインストーラにはCLIも同梱されていますが、環境変数の反映に少し時間がかかることがあります。いったんターミナルを閉じて再度開き、それでも「command not found」なら公式手順に沿ってDockerアプリをアプリケーションフォルダに入れ、起動してから再試行してください。Homebrewでインストールした場合は、brew doctorでパスの異常がないかも確認すると安心です。
コンテナのボリュームマウントで権限エラーが出ます。どう対応すればいいですか?
- コンテナのボリュームマウントで権限エラーが出ます。どう対応すればいいですか?
-
最初にDocker Desktopの設定>リソース>ファイル共有で、マウントしたいフォルダが許可リストに入っているか確認してください。それでもエラーになるときは、ホスト側のファイル所有者とコンテナ内のユーザーIDが合っていないことが多いです。docker runの-uオプションや、DockerfileでUSERとWORKDIRを設定して、UID/GIDを合わせるとスムーズに動きます。
Dockerイメージを最新に保つにはどうすればいいですか?
- Dockerイメージを最新に保つにはどうすればいいですか?
-
手動ならdocker pullやdocker-compose pullで最新イメージを取得できますが、定期的に更新したいときはwatchtowerを使うと便利です。自分の環境で試したところ、数行のdocker-compose設定を追加するだけで自動検出→更新→再起動までしてくれて、とても楽でした。CIツールのスケジュール機能を使うのもおすすめです。
IntelMacとAppleSiliconでDockerは違う?
IntelMacではx86アーキテクチャを仮想化してコンテナを動かしますが、AppleSilicon搭載MacではMacOS標準の仮想化フレームワークを活用してARM版のコンテナを直接動かせます。
そのためAppleSiliconではARMネイティブイメージが高速に動く一方で、x86専用のイメージはRosetta2によるエミュレーションになるので動作が少し重くなることがあります。Docker Desktopをインストールするときは自分のMacのCPUアーキテクチャに合うパッケージを選んでください。
容量不足になったらどうする?
Dockerを使っていると、いつの間にかイメージやコンテナが積み重なってストレージがカツカツになることがあります。手が止まって焦る前に、サクッと対処できる方法を押さえておくと安心です。
- 不要なコンテナやイメージをまとめて削除する
- ビルドキャッシュや未使用ボリュームをクリアにする
- Docker Desktopのディスク利用設定で割り当てサイズを見直す
- プロジェクトフォルダを外付けドライブや別パーティションに移動する
- CIキャッシュなど自動的に溜まるファイルを定期的に掃除する
DockerDesktopが起動しないときは?
Docker Desktopが起動しないときは、いくつかの原因をざっくり押さえておくと落ち着いて対処できます。
- macOSのバージョン確認:最新OSに対応したDocker Desktopを公式サイトからダウンロードしているかチェックしてください。
- 仮想化機能の有効化:システム環境設定>セキュリティとプライバシー>概要タブで「システムソフトウェア開発元“Docker”の読み込みを許可」が表示されていないか確認しましょう。
- 再起動とキャッシュクリア:Macを再起動しても改善しない場合は、~/Library/Containers/com.docker.dockerフォルダを削除してから再起動してみてください。
- 設定のリセット:Docker Desktop>トラブルシューティング>「Reset to factory defaults」を選ぶと初期状態に戻せます。
- 再インストール:公式アンインストーラーで完全に削除したあと、最新版をあらためてインストールすると問題が解消しやすいです。
バージョンアップはどれくらいの頻度で?
開発環境を安定させたいとき、新しいバージョンをいつ取り入れるか迷いがちです。Docker Desktopには安定志向のStable版と先行機能を楽しめるEdge版があり、自動でアップデート通知もくるので心配が減ります。
安定した動作を重視するならStable版をおおよそ1か月に1回チェックするといいです。新機能をいち早く試したいならEdge版を週に1~2回更新すると、開発の幅が広がります。
Stable版は本番環境への移行前に安定性を確認しやすく、Edge版は不具合リスクを抑えるためテスト用環境で試すのがおすすめです。
まとめ

ここまでの手順を振り返ると、まずDocker Desktopを公式サイトからダウンロードしてインストーラーを起動し、画面の案内にそってアプリをセットアップしました。
次に、ターミナルでdocker run hello-world
を実行して、Dockerエンジンが正しく動いていることを確認できました。このときの小さな成功体験が、今後の開発をぐっと楽にしてくれます。
最後に、自分のプロジェクトフォルダにDockerfile
やdocker-compose.yml
を用意しておけば、どこでも同じ開発環境を再現できます。これでチーム開発や新しいライブラリの試しにも自信を持って取り組めます。
さあ、Dockerを使いこなして、開発ライフをもっと楽しく速くしていきましょう。