WordPress✕SQLite✕Docker開発環境セット
PC乗り換えたり、新規案件を受注するたび、
環境が古かったり、設定ファイル行方不明にてまた作り直して…アホなのか?
と思いだしたので、ここに最適解を記録しては更新していこうと思う。
Dockerのサーバの起動方法
GUI:直感的に操作
めんどくさがりは『Docker Desctop』一択!

今すぐ始める | Docker
Docker Desktop を使い始め、何百万人もの開発者と一緒に、コンテナーを始めとするツールを活用して、より速く、より安全なアプリ開発をしましょう。
下記の設定で一度サーバを設定したならば、あとは『Docker Desctop』を起動するだけで動くから割愛。
サインインも要らない。
CUI:コマンドで操作
『Power Shell』あたりで作業。
Dockerサーバ用ディレクトリ移動
まず最初にdocker-compose.ymlがある場所に移動しておく。
例えば『C:\www\server』以下にあるなら
C:\www\server
起動するだけ
シンプルに起動する。
docker compose up -d
設定ファイル書き換え後の起動
docker-compose.ymlやDockerfileなど、Dockerサーバ用ディレクトリ内を書き換えたら
docker-compose up -d --build
または
docker compose build --no-cache
サーバを作り直すから、ちょっと時間かかる
docker-compose.yml
server用のディレクトリを作って置く。
services:
web:
build: .
ports:
- "80:80"
volumes:
- "C:/www/public:/var/www/html"
- "./vhosts:/etc/apache2/sites-enabled"
- "./logs:/var/log/apache2"
container_name: php-web
restart: always
Dockerfile
docker-compose.ymlと同じ階層に置く
FROM php:8.2-apache
RUN a2enmod headers
RUN a2enmod rewrite
# 1. パッケージリストを更新し、SQLiteのビルドに必要なライブラリをインストール
# 2. PHP拡張をインストール
# 3. 使い終わったパッケージリストを消してイメージを軽量化
RUN apt-get update && apt-get install -y \
libsqlite3-dev \
&& docker-php-ext-install pdo_sqlite mysqli \
&& apt-get clean && rm -rf /var/lib/apt/lists/*
# セッション保存用ディレクトリの作成と権限付与
RUN mkdir -p /tmp/php_sessions && chmod 777 /tmp/php_sessions
# PHPの設定をカスタムファイルとして追加
# session.save_path を明示的に指定する
RUN echo 'session.save_path = "/tmp/php_sessions"' >> /usr/local/etc/php/conf.d/docker-php-session.ini
local.conf
バーチャルホスト追加するなら、編集する必要がある。
『【docker-compose.ymlが置いてる場所】\vhosts』に置く。
先の起動に合わせるならC:\www\server\vhosts
一度起動してたらあるから、書き換えればいいだけなので、1回起動後をオススメする。
⇩local.baseを追加する例
<VirtualHost *:80>
ServerName localhost
DocumentRoot /var/www/html
</VirtualHost>
<VirtualHost *:80>
ServerName local.base
DocumentRoot /var/www/html
</VirtualHost>
hostsも編集する
C:\Windows\System32\drivers\etc\hosts
ここは別のとこで書き換える必要がある。
コピーした先で更新して、etc以下に貼り付けて上書きする。
⇩local.baseを追加する場合、こう追加する。
127.0.0.1 local.base ::1 local.base
設定変更後はサーバ再起動を忘れずに
一番最初に書いたやつね
忘れていたら思うように動かないよ


コメント