LoginSignup
14
17

More than 5 years have passed since last update.

dockerのphp:7-fpm-alpineイメージでCakePHP3を動かす

Posted at

dockerのphp:7-fpm-alpineイメージでCakePHP3を動かす

※この記事は私のブログでも掲載しています。

PHP7を試すためのdocker-compose.ymlを作って、CakePHPをいざ試そうとすると色々モジュールが足りなかったり、VirtualBoxでBoot2Dockerを動かしているために発生する問題があったので、その対処のためにイメージをカスタマイズしました。

このDockerfileで行っていることは、intlとpdo_mysqlモジュールの追加です。
あとVirtualBox固有の問題としてHost側の領域の所有者がvboxfs(user.id=1000, group.id=50)になるため、それに合わせるためにphp-fpmの実行ユーザーを作りなおしています。
(そうしないとCakePHPがtmp領域などに書き込めない)

FROM php:7-fpm-alpine
RUN set -x && \
  apk add --no-cache icu-libs && \
  apk add --no-cache --virtual build-dependencies icu-dev && \
  NPROC=$(grep -c ^processor /proc/cpuinfo 2>/dev/null || 1) && \
  docker-php-ext-install -j${NPROC} intl && \
  docker-php-ext-install -j${NPROC} pdo_mysql && \
  apk del --no-cache --purge build-dependencies && \
  rm -rf /tmp/pear
RUN set -x && \
  deluser www-data && \
  addgroup -g 50 -S www-data && \
  adduser -u 1000 -D -S -G www-data www-data

後は作成したdocker内に接続してcomposerを通してCakePHP3を展開します。
それ以降はCakePHPのチュートリアルに則って試すことができます。

$ docker exec -it cakephp3_phpfpm_1 /bin/sh
/var/www/html # curl -s https://getcomposer.org/installer | php
/var/www/html # php composer.phar create-project --prefer-dist cakephp/app bookmarker

関連
14
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
17