MacOSでのDocker環境構築ガイド(CLI&Docker Desktop)
はじめに
Webアプリケーション開発をDocker環境で始めたい方や、Dockerを久しぶりに触る方に向けて、MacOSでのDocker環境構築手順をわかりやすく解説します。
本記事では、CLI(ターミナル)を中心に進めますが、補足としてDocker Desktopを利用する手順も紹介します。
前提条件
- MacOSがインストールされたPCを使用
- ホームディレクトリ以下にアクセスできるユーザー権限があること
- CLIに馴染みがない方でも実行できる手順で記載しています
目次
1. Dockerとは?
Dockerは、アプリケーションやその必要なライブラリ・設定をひとまとめにした「コンテナ」を作成し、どこでも同じ環境で動かせるようにするツールです。通常の仮想マシンより軽量で高速なのが特徴で、開発環境や本番環境の不一致によるトラブルを減らします。これにより、チーム開発がスムーズになり、効率的なデプロイが可能になります。
初心者でも簡単に扱えるよう設計されており、学ぶことで開発の幅がぐっと広がります!
用語の簡単な説明
-
コンテナ
アプリケーションとその実行に必要なすべての依存関係をパッケージ化した、軽量かつ可搬性の高い実行環境です。各コンテナは、他のコンテナやホストOSから隔離された環境で動作し、一貫した実行環境を提供します。 -
イメージ
コンテナを作成するためのテンプレートであり、アプリケーションのコード、設定ファイル、ライブラリなどが含まれています。イメージは読み取り専用であり、変更を加えるには新しいイメージを作成する必要があります。 -
デーモン
Dockerのバックグラウンドプロセスで、Dockerオブジェクト(イメージ、コンテナ、ネットワークなど)の管理を行います。Docker CLIは、デーモンにREST APIでリクエストを送信し、コンテナの作成、起動、停止などの操作を実行します。
2. 必要なツールのインストール
Dockerを使うには、以下のツールをインストールします。
2.1 Homebrewのインストール
MacOSのパッケージマネージャ「Homebrew」を使用して、必要なツールをインストールします。
-
ターミナルを開く
Finderで「アプリケーション > ユーティリティ > ターミナル」を選択します。 -
Homebrewのインストールコマンドを実行
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
-
Homebrewの動作確認
インストールが成功したら以下のコマンドを実行してバージョンを確認します。
brew --version
出力例:
Homebrew 4.4.6
2.2 Docker CLIのインストール
Homebrewを使ってDocker CLIをインストールします。
- Dockerをインストール
brew install docker
- Dockerのバージョン確認
docker --version
出力例:
Docker version 27.0.3, build xyz1234
-
Dockerのデーモン(バックエンド)を起動する
MacOSではDocker Desktopのデーモンを利用する必要があります。デーモンは次の補足手順で解説します。
3. Dockerの動作確認
インストールが完了したら、Dockerが正しく動作するか確認します。
-
テスト用コンテナを実行
以下のコマンドを実行して、hello-world
イメージを動かします。
docker run hello-world
-
期待される出力
コンテナが正しく動作していれば、次のようなメッセージが表示されます。
Hello from Docker! This message shows that your installation appears to be working correctly.
4. 最初のDockerコンテナを実行する
次に、簡単なWebサーバーをコンテナとして実行します。
- Nginxの公式イメージを取得
docker pull nginx
このコマンドは、Docker HubからNginxの公式イメージをダウンロードします。
Docker Hubは、公式イメージを提供するDockerのリポジトリサービスです。
- Nginxをコンテナとして実行
docker run --name my-nginx -d -p 8080:80 nginx
-
--name my-nginx
: コンテナにmy-nginx
という名前を付ける -
-d
: バックグラウンドで実行 -
-p 8080:80
: ホスト(Mac)の8080ポートをコンテナの80ポートに接続する設定
-
ブラウザで確認
http://localhost:8080 にアクセスして、Nginxのウェルカムページが表示されることを確認します。
4. 実行したプロセスの停止と削除
Nginxのコンテナを動かした後は、不要になったコンテナを停止し、削除する手順を学びましょう。これにより、システムリソースを節約し、環境を整理することができます。
コンテナの停止
- 実行中のコンテナを停止します。先ほど作成した
my-nginx
コンテナを停止するには、以下のコマンドを使用します。
docker stop my-nginx
- 確認方法 停止中のコンテナを含む一覧を表示するには、以下のコマンドを実行します。
docker ps -a
出力例:
CONTAINER ID IMAGE COMMAND CREATED STATUS NAMES
abc12345xyz nginx "/docker-entrypoint.…" 10 minutes ago Exited (0) 2 minutes ago my-nginx
コンテナの削除
不要になったコンテナを削除します。
-
コンテナの削除コマンド
停止したコンテナmy-nginx
を削除します。
docker rm my-nginx
- 確認方法 再度、コンテナ一覧を表示して、削除されたことを確認します。
docker ps -a
出力例(削除後の状態):
CONTAINER ID IMAGE COMMAND CREATED STATUS NAMES
(リストが空であれば、コンテナは削除されています)
使わなくなったイメージの削除(オプション)
-
イメージ一覧の確認
現在ダウンロードされているDockerイメージの一覧を確認します。
docker images
出力例:
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest abcdef123456 2 days ago 142MB
-
イメージの削除
必要ないイメージを削除します。Nginxイメージを削除する場合のコマンド:
docker rmi nginx
5. Docker Desktopを使った補足手順
CLIを使わずに、GUIで簡単にDockerを操作したい方には、Docker Desktopをおすすめします。
-
Docker Desktopのインストール
Docker公式サイトからインストールします
-
インストール後のセットアップ
- アプリケーションフォルダからDocker Desktopを起動します。
- 初回起動時にはチュートリアルが表示されるので、指示に従ってセットアップします。
-
CLIとの連携
Docker Desktopを起動すると、CLIのdocker
コマンドがデーモンと連携して動作するようになります。
エラーが発生した場合の対処法
-
デーモンが起動していない場合
-
docker run
でCannot connect to the Docker daemon
というエラーが出る場合、Docker Desktopが正しく起動していない可能性があります。Docker Desktopを起動し、デーモンが動作中か確認してください。
-
-
アクセス権限エラー
- 権限に関連するエラーが出た場合は、次のコマンドを試してください。
sudo chown $USER /var/run/docker.sock
-
コマンドが認識されない場合
- dockerやbrewが認識されない場合は、インストールしたプログラムのパスが環境変数$PATHに設定されているか確認してください。
echo $PATH
必要に応じて、Homebrewの公式サイトを参照してください。
6. まとめと次のステップ
これでMacOSでのDocker環境構築は完了です!次は、以下のステップに進みましょう。
- 公式ドキュメントを読む: 公式ドキュメントはこちら
- 簡単なDockerfileを作成してみる: 自分のアプリケーションをDocker化する
-
Composeを使った複数コンテナの連携:
docker-compose
で複数サービスの開発環境を構築
Dockerを使いこなすことで、開発環境の構築が効率的になり、チーム開発や本番運用でのトラブルが大幅に減ります。ぜひ挑戦してみてください!
Discussion