はじめに
Dockerを使うには、まず Docker Desktop というアプリをインストールする必要があります。
この記事では、Docker Desktopのインストールから、プロジェクトで使い始めるまでの手順をまとめます。
Dockerは奥が深いようで、かなりの勉強が必要です。
Docker Desktopを使用すればとても簡単に、サイト制作に役立てることができます!
初心者でもわかるようにAIに教えてもらいました!
STEP 1:Docker Desktopをインストールする
Mac の場合
- Docker Desktop公式サイト にアクセス
- 「Download for Mac」をクリック
- Apple Silicon(M1/M2/M3/M4) の場合:「Apple Silicon」を選択
- Intel Mac の場合:「Intel Chip」を選択
- ダウンロードされた
.dmgファイルを開く - Docker のアイコンを Applications フォルダにドラッグ&ドロップ
- Applications から Docker を起動
- 初回起動時に権限の許可を求められるので「OK」を押す
Windows の場合
- Docker Desktop公式サイト にアクセス
- 「Download for Windows」をクリック
- ダウンロードされた
.exeファイルを実行 - インストーラーの指示に従って進める
- 「WSL 2」を有効にするか聞かれたら、有効にする(推奨)
- インストール完了後、PCを再起動
- Docker Desktop を起動
STEP 2:インストールできたか確認する
ターミナル(Macの場合)またはコマンドプロンプト(Windowsの場合)を開いて、以下のコマンドを実行します。
docker --version
バージョンが表示されればOKです。
Docker version 27.x.x, build xxxxxxx
もう1つ確認します。
docker compose version
Docker Compose version v2.x.x
これも表示されれば準備完了です。
STEP 3:プロジェクトにDockerファイルを用意する
Docker Desktopはあくまで Dockerを動かすためのアプリ です。
実際にどんなサーバーを立てるかは、プロジェクトごとに設定ファイルを用意 する必要があります。
各プロジェクトに最低限必要なファイルは以下の通りです。
プロジェクト/
├── docker-compose.yml ← ①
├── docker/
│ └── Dockerfile ←②
└── apache-config.conf ←③
簡単なサイト制作は①〜③のファイルで動きます。
各ファイルに書くコード例を紹介します。
① docker-compose.yml
services:
web:
build: .
ports:
- "8080:80"
volumes:
- .:/var/www/html
environment:
- PHP_DISPLAY_ERRORS=1
- PHP_ERROR_REPORTING=E_ALL
② Dockerfile
FROM php:8.2-apache
# 必要なPHP拡張機能をインストール
RUN docker-php-ext-install pdo pdo_mysql
# ↓ DB使用時は以下を追加(なくても動く)
RUN apt-get update && apt-get install -y libonig-dev && docker-php-ext-install mbstring
# Apacheの設定
RUN a2enmod rewrite
# 作業ディレクトリを設定
WORKDIR /var/www/html
# ソースコードをコピー
COPY . /var/www/html/
# Apacheの設定ファイルをコピー
COPY apache-config.conf /etc/apache2/sites-available/000-default.conf
# パーミッションの設定
RUN chown -R www-data:www-data /var/www/html
③ apache-config.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
STEP 4:Dockerを起動する
ターミナルでプロジェクトフォルダに移動して、以下のコマンドを実行します。
cd プロジェクト名
docker compose up --build
初回はサーバーの構築があるので数分かかります。以下のようなログが流れます。
[+] Running 4/4
✔ Container project-db-1 Started
✔ Container project-php-1 Started
✔ Container project-web-1 Started
✔ Container project-phpmyadmin-1 Started
全て「Started」と表示されたら起動成功です。
STEP 5:ブラウザで確認する
大体は下記にアクセスすればみれます👇
http://localhost:8080
実際のポート番号の意味はこんな感じです👇
| ポート | 何が見えるか | いつ使うか |
|---|---|---|
localhost:80 または localhost | Webサイトの表示確認 | 常に使う |
localhost:8080 | phpMyAdmin(DB管理画面) | DBを使う時だけ |
※ データベースを使うプロジェクトでphpMyAdminを設定している場合は、http://localhost:8080 でDB管理画面も開けます。
ポート番号の書き方
ports:
- "左側:右側"
| 位置 | 意味 |
|---|---|
| 左側 | ブラウザでアクセスする時のポート番号(自分のPC側) |
| 右側 | Docker内のサーバーが使うポート番号(変えない) |
なので
左側だけ変える、右側は80のまま です。
右側の 80 はNginxがDocker内部で待ち受けているポートなので、変えるとNginxが動かなくなります。
具体例
# localhost でアクセス(ポート80は省略できる)
ports:
- "80:80"
# localhost:3000 でアクセス
ports:
- "3000:80"
# localhost:7070 でアクセス
ports:
- "7070:80"
# localhost:8080 でアクセス
ports:
- "8080:80"
ブラウザ側(自由に変えてOK)
↓
"7070 : 80"
↑
Docker内のNginx側(変えない)
ポイント
docker-compose.yml ファイルの
services:
web:
build: .
ports:
- "8080:80"
・・・・
ここの ports を確認して、webサービスのportsの左側の数字 を確認しておけば、
ブラウザでどこにアクセスすれば見られるかがわかります!
Dockerの基本操作まとめ
| やりたいこと | コマンド |
|---|---|
| 起動する | docker compose up --build |
| 起動する(ログを表示しない) | docker compose up --build -d |
| 停止する | docker compose down |
| 停止してデータも消す | docker compose down -v |
| 動いているか確認する | docker compose ps |
| ログを見る | docker compose logs |
-d オプションについて
docker compose up --build -d
-d をつけると バックグラウンド実行 になります。
ターミナルにログが流れ続けないので、同じターミナルで他の作業ができます。
-d をつけない場合は、ログがリアルタイムで表示されます。
エラーが起きた時に原因を確認しやすいので、慣れるまでは -d なしがおすすめです。
Docker Desktopの画面でも確認できる
コマンドが苦手な方は、Docker Desktopアプリの画面からも操作できます。
- Docker Desktopを開く
- 左メニューの「Containers」をクリック
- 起動中のサービスが一覧で表示される
- 各サービスの「停止」「再起動」「ログ表示」がボタンで操作できる
よくあるトラブルと対処法
「port is already allocated」と表示される
Error: port is already allocated
すでに別のアプリがそのポートを使っています。
対処法: docker-compose.yml のポート番号を変更する
# 80番が使われている場合、8000番に変更
ports:
- "8000:80"
この場合、ブラウザでは http://localhost:8000 でアクセスします。
「Cannot connect to the Docker daemon」と表示される
Cannot connect to the Docker daemon
Docker Desktopが起動していません。
対処法: Docker Desktopアプリを起動してから、もう一度コマンドを実行する
初回起動が遅い
初回の docker compose up --build は、サーバーの構築(イメージのダウンロード・ビルド)があるため数分〜10分程度かかることがあります。2回目以降はキャッシュが効くので数秒で起動します。
まとめ
| ステップ | やること |
|---|---|
| 1 | Docker Desktop をインストール |
| 2 | docker --version で確認 |
| 3 | プロジェクトに docker-compose.yml 等を用意 |
| 4 | docker compose up --build で起動 |
| 5 | ブラウザで localhost を開いて確認 |
Docker Desktopは一度インストールすれば、すべてのプロジェクトで使えます。
プロジェクトごとに必要なのは docker-compose.yml などの設定ファイルだけです。
データベースを使ったプロジェクトに使用するファイルの書き方は、下記記事で詳しく掲載しているのでご参照ください!




