Docker を使ってみたいんだけど、どうすれば良いのかな?
今回は、アプリケーションを仮想環境で実行できるツール である Docker について、インストール方法や使い方 をご紹介します。
Docker とは?
Docker とは、アプリケーションの実行に必要なOSやライブラリ、環境変数などの依存関係 をまとめて「コンテナ」と呼ばれる 軽量な仮想環境としてパッケージ化 し、実行できるツール です。
Docker を利用することで、開発環境と本番環境の差異を減らし、環境の違いによるトラブルを防ぎながら、アプリケーションを安定して動作させること ができます。
Docker のメリット
Docker を利用することで、主に次のような メリット があります。
- 環境構築が簡単に行える
Docker では、アプリケーションの実行に必要なOSやライブラリ、設定などをコンテナとしてまとめて管理 できるため、複雑な環境構築を簡単に行うこと ができます。 - 環境の違いによる問題を防げる
Docker を利用することで、「自分のPCでは動くのに、他のPCでは動かない」といった 環境差異による問題を防ぐこと ができます。 - 開発環境と本番環境を同じようにできる
Docker では 同じコンテナを利用してアプリケーションを実行できる ため、開発環境と本番環境を同じ構成にすること ができます。そのため、本番環境でのトラブルを減らすこと ができます。 - 複数プロジェクトを簡単に管理できる
Docker を利用すると、プロジェクトごとに独立したコンテナを作成できる ため、異なるライブラリやバージョンを使用する複数のプロジェクトでも簡単に管理 できます。
Docker の仕組み
Docker を理解するためには、Image、Container、Dockerfile の3つの基本的な概念を知っておく必要があります。
Image
Docker の Image(イメージ) とは、コンテナを作成するための設計図のようなものです。
Image には、アプリケーションを実行するために必要なOSやライブラリ、アプリケーション、設定情報など が含まれており、この Imageをもとにコンテナを作成することで、同じ環境を簡単に再現すること ができます。
例えば、Webサーバーとしてよく利用される NGINX の Dockerイメージ を利用すれば、簡単にWebサーバー環境を構築すること ができます。
Container
Container(コンテナ)とは、Docker の Image を もとに作成される実行環境のこと です。
Docker では、ImageからContainerを作成 し、その Container上でアプリケーションを実行 します。
つまり、Dockerでは「Image(設計図)」から「Container(実行環境)」を 作成してアプリケーションを実行 します。
また、1つの Image から 複数のContainerを作成すること も可能です。
Dockerfile
Dockerfile とは、Dockerイメージを作成するための設定ファイル です。
Dockerfile には、使用するソフトウェアのベースイメージや必要なライブラリのインストール、アプリケーションのコピー、実行するコマンドなどを記述 します。
この Dockerfile をもとに Dockerイメージを作成することで、誰でも同じ環境を簡単に作成できるようになります。
Docker のインストールと使い方
Docker のインストール
Mac の場合
- 下記の方法でインストール後、アプリケーションフォルダ から Dockerを起動
- メニューバー に 🐳 クジラのアイコンが表示されていれば起動完了
※ 初回起動時にアクセス許可・パスワード入力を求められます
① Homebrew でインストール ※ Homebrew がインストールされている場合
※ --cask とは、HomebrewでMac向けのアプリケーションをインストールするときに使うオプション で、GUIアプリとして提供されるパッケージをインストールする場合に使用します
brew install --cask docker
② 公式サイトからダウンロード
Docker の 公式サイト から Download for Mac (Apple silicon or Intel Chip)を ダウンロードしてインストール

Windows の場合
公式サイトからダウンロード
- Docker の 公式サイト から Download for Windows (AMD64 or ARM64)を ダウンロードしてインストール
- PCを再起動
- 再起動後 に Docker Desktop を起動し、クジラのアイコンが表示 されていれば 起動完了

Docker の動作確認
// コマンドで、テスト用のコンテナを実行
docker run hello-world
// ✅ OK 成功の場合、下記のように表示される
Hello from Docker!
Docker の基本コマンド
| コマンド | 意味 |
| docker pull | イメージ取得 |
| docker run | コンテナ実行 |
| docker ps | コンテナ確認 |
| docker stop | コンテナ停止 |
| docker rm | コンテナ削除 |
例:nginxを起動
// nginx を Docker で起動 ※-d: バックグラウンド起動 -p: ポート設定 nginx: イメージ名
docker run -d -p 8080:80 nginx
nginx を Docker で 起動後、 ブラウザで「http://localhost:8080」にアクセスして表示確認
Dockerfile の作成 ※ PHPの場合
ここでは、PHP の Dockerfileの作成例 を紹介します
フォルダ構成
my-php-app フォルダを作成
my-php-app/
├─ Dockerfile
└─ index.php
index.php の作成
index.php を作成
<?php
echo "Hello from Docker PHP!";
Dockerfile の作成
Dockerfile を作成
※ Dockerfile の基本的な書き方
ベースイメージ(FROM) → 作業ディレクトリ(WORKDIR) → ファイルコピー(COPY) → 実行コマンド(CMD)
# Dockerfile
# PHP公式イメージをベースにする
FROM php:8.2-cli
# コンテナ内の作業ディレクトリ
WORKDIR /var/www/html
# アプリケーションのソースコードをコピー
COPY . .
# コンテナ起動時にPHPを実行
CMD ["php", "index.php"]
イメージ作成 と コンテナ起動
PHP はコンテナ起動時にそのまま実行され、「Hello from Docker PHP! 」と表示される
# コマンド Dockerイメージを作成
docker build -t my-php-app .
# コマンド コンテナを起動 Hello from Docker PHP! と表示される
# --rm: コンテナ終了後に自動削除
docker run --rm my-php-app
Docker Compose(複数コンテナ)※ PHP + Nginx 環境の作成例
ここでは、PHP と nginx での Dockerfileの作成例 を紹介します
フォルダ構成
my-php-nginx-app フォルダを作成
my-php-nginx-app/
├─ docker-compose.yml ※ 複数コンテナをまとめて管理
├─ php/ ※ PHPコンテナ用
│ ├─ Dockerfile
│ └─ index.php
└─ nginx/ ※ nginxコンテナ用
└─ default.conf
Dockerfile の作成
PHP フォルダ配下に Dockerfile を作成
# Dockerfile
# PHP公式イメージ(CLI + FPM)※ nginxと連携可能
FROM php:8.2-fpm
# 作業ディレクトリ
WORKDIR /var/www/html
# index.php をコンテナ内にコピー
COPY index.php ./
index.php の作成
PHP フォルダ配下に index.php を作成
<?php
echo "Hello from Docker Compose PHP + Nginx!";
nginx用の設定ファイル(default.conf)を作成
nginx フォルダ配下の default.conf を作成
# default.conf
server {
listen 80;
server_name localhost;
root /var/www/html;
index index.php;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass php:9000; # PHP-FPM コンテナ名(サービス名):ポート番号 docker-compose.yml で指定するサービス名と連携
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
docker-compose.yml ※ 複数コンテナをまとめて管理
my-php-nginx-app フォルダ配下に docker-compose.yml を作成
# docker-compose.yml
# version は docker-compose.yml の仕様バージョンを指定する設定 (version の省略も可能)
# version: "3.9"
services:
# サービスを Dockerfile からビルド
php:
build: ./php
container_name: php-app
# サービスは公式イメージを使用
nginx:
image: nginx:latest
container_name: nginx-app
ports:
- "8080:80"
# PHPソースコード と nginx設定 を使えるようにマウントする
volumes:
- ./php:/var/www/html
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf
# nginxは PHPコンテナ起動後に開始
depends_on:
- php
Docker Compose コマンド と イメージ作成 & コンテナ起動
下記のコマンドを実行する と ビルド&起動が実行 され、ブラウザで「http://localhost:8080」にアクセスすると、「Hello from Docker Compose PHP + Nginx! 」と表示される
# コンテナを作成して起動する
# -d : バックグラウンドでコンテナを起動
# 初回はイメージのビルド(構築)も実行される
docker compose up -d
# コンテナのログを表示(リアルタイム)
# -f : ログをリアルタイムで追い続けて表示
# Ctrl + C でログ表示を終了(コンテナは停止しない)
docker compose logs -f
# 一時停止
# コンテナを停止するが削除はしない
docker compose stop
# 再開
# stopで停止したコンテナを再起動
docker compose start
# コンテナ削除・終了(完全停止)
# コンテナとネットワークを削除
# -v : ボリュームも削除
docker compose down
# 起動しているコンテナ一覧を表示
docker compose ps
Docker Compose の基本的な流れ
docker compose up
(コンテナを作成して起動 ※初回はイメージのビルドも実行)
↓
コンテナが起動
↓
docker compose logs
(コンテナのログを確認)
↓
docker compose stop
(コンテナを一時停止)
↓
docker compose start
(停止したコンテナを再開)
↓
docker compose down
(コンテナとネットワークを削除して完全停止)
まとめ
Docker の インストール方法や使い方 について解説してきましたが、いかがでしたでしょうか?
Docker は、アプリケーションの実行に必要なOSやライブラリ、環境変数などを「コンテナ」と呼ばれる 軽量な仮想環境としてパッケージ化 し、実行できるツール です。
Dockerfile で コンテナを作成するための設計図 である Docker Imageを作成 し、その ImageからContainerを作成 して アプリケーションを実行 します。
ぜひ Docker を インストール して、さまざまな環境での開発 を試してみてください。
公式サイト



コメント