Docker入門:初心者向け完全ガイド(PHP実践付き)
Dockerは、開発環境の構築やアプリケーションのデプロイを効率化するためのコンテナ技術です。本記事では、Dockerの基本概念からインストール方法、PHPを用いた実践的な利用方法までを初心者向けに解説します。
Dockerとは?
Dockerは、アプリケーションとその依存関係をコンテナという単位でまとめ、どこでも一貫して動作させることができる技術です。仮想マシンと比較して、軽量で高速な起動が特徴です。
コンテナと仮想マシンの違い
| 特徴 | コンテナ(Docker) | 仮想マシン(VM) |
|---|---|---|
| 起動速度 | 数秒 | 数分 |
| リソース消費 | 少ない | 多い |
| 環境の一貫性 | 高い | 低い |
| 適用シーン | 開発・テスト・本番環境 | 本番環境・大規模システム |
Dockerのインストール方法
Windows
- Docker Desktop公式サイトからインストーラーをダウンロード
- インストール後、再起動してDocker Desktopを起動
- タスクバーにアイコンが表示されれば成功
macOS
- Docker Desktop for Macをダウンロード
- インストーラーを開いてアプリケーションフォルダに移動
- 初回起動時に権限を求められるので許可
- アイコンが表示されれば準備完了
Linux(Ubuntu)
sudo apt update
sudo apt install ca-certificates curl gnupg
# 古いDockerパッケージの削除
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
# Docker公式GPGキー追加
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
PHPでHello WorldをDockerで実行する
ディレクトリ構成
docker-php-hello/
├── Dockerfile
└── index.php
Dockerfileの作成
# PHP公式CLIイメージを使用
FROM php:8.2-cli
# 作業ディレクトリを作成
WORKDIR /app
# PHPスクリプトをコンテナにコピー
COPY index.php .
# コンテナ起動時にPHPスクリプトを実行
CMD ["php", "index.php"]
index.phpの作成
<?php
echo "Hello World from Docker!\n";
コンテナのビルドと実行
コンテナをビルド
docker build -t php-hello .
コンテナを実行
docker run --rm php-hello
実行すると以下が表示されます:
Hello World from Docker!
まとめ
本記事では、初心者向けにDockerの基本からPHPでのHello World実践までを解説しました。ポイントを整理します。
-
Dockerの特徴
- アプリケーションと依存関係をまとめてどこでも同じ環境で動かせる
- 仮想マシンより軽量で高速
-
環境構築の手順
- Windows、macOS、Ubuntuそれぞれに対応したDockerインストール方法
- 初心者でも簡単にセットアップ可能
-
PHPでの実践
- Dockerfileとindex.phpを用意してコンテナをビルド
-
docker runでHello Worldを実行 - 簡単にコンテナの動作確認ができる
-
学習のポイント
- まずは小さなプロジェクトでDockerに慣れる
- PHP以外の言語やフレームワークも応用可能
- Docker Composeなどを使えば複数コンテナでの開発も簡単
Dockerは初心者でも扱いやすく、学ぶことで開発・デプロイの効率が大幅にアップします。まずは公式イメージを使った簡単なプロジェクトから始め、少しずつ応用してみましょう。
こちらでもご覧いただけます