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

下記の設定で一度サーバを設定したならば、あとは『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.3-apache
RUN a2enmod headers
RUN a2enmod rewrite
# 1. 依存ライブラリのインストール
RUN apt-get update && apt-get install -y \
libsqlite3-dev \
libpng-dev \
libjpeg-dev \
libfreetype6-dev \
libmagickwand-dev \
libzip-dev \
libicu-dev \
zlib1g-dev \
&& rm -rf /var/lib/apt/lists/*
# 2. GDの構成(ここが重要)
RUN docker-php-ext-configure gd --with-freetype --with-jpeg
# 3. PHP拡張のインストール(-yは不要だ!)
RUN docker-php-ext-install \
pdo_sqlite \
mysqli \
gd \
exif \
zip \
intl
# 4. Imagickのインストール
RUN pecl install imagick \
&& docker-php-ext-enable imagick
# 5. クリーンアップ
RUN apt-get clean
# セッション保存用ディレクトリの作成と権限付与
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
よもやま話
プリインストールされるテーマが憎すぎて、サーバUP時に消したいなら
# インストール後にデフォルトテーマを(最新の1つ以外)一掃する
RUN rm -rf /var/www/html/wp-content/themes/twentytwentytwo \
&& rm -rf /var/www/html/wp-content/themes/twentytwentythree
て追記すればいいそうだよ。
教えてもらっておいて「そこまで必要ないな」と試してはいないけど。
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
設定変更後はサーバ再起動を忘れずに
一番最初に書いたやつね
忘れていたら思うように動かないよ


コメント