前回の『【 Nginx 編】Mac に Docker インストールしてみた』の続きです。
コンテナを削除する
Nginx のコンテナなどが稼働していると思うので、一旦全て削除します
$ docker rm -f `docker ps -a -q`
php-fpm のイメージを pull する
公式の php-fpm のイメージを pull します
$ docker pull php:fpm ...(略) Status: Downloaded newer image for php:fpm
php-fpm のコンテナを起動する
最初に Document Root に配置する PHP ファイルを作成します
~/docker/www/index.php
<?php phpinfo(); ?>
PHP ファイルの準備ができたら php-fpm のコンテナを起動しましょう
$ docker run --name fpm -p 9000:9000 -v /Users/enomotodev/docker/www:/var/www/html -d php:fpm
--name
オプションで fpm
と指定することによって、fpm
という名前でコンテナを起動しています
続けて、Nginx のコンテナを起動するのですが、先に前回作成した conf ファイルを編集しましょう
~/docker/nginx/nginx.conf
server { listen 8080; root /var/www/html; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass fpm:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
conf ファイルの準備ができたので、Nginx のコンテナを起動します
$ docker run --name nginx -p 9090:8080 -v /Users/enomotodev/docker/nginx/nginx.conf:/etc/nginx/conf.d/nginx.conf --link fpm -d nginx
--link
オプションで fpm
を指定することによって、Nginx コンテナから php-fpm コンテナへの接続ができるようになります
つまり、conf ファイルの fastcgi_pass fpm:9000;
の部分は php-fpm コンテナの 9000
番ポートに接続するという意味になります
それでは、ブラウザで確認してみましょう
phpinfo が表示されました!
まとめ
Nginx と PHP の連携ができたので、次は Database との連携も行い、Docker で PHP 開発環境を構築したいと思います
プログラマのためのDocker教科書 インフラの基礎知識&コードによる環境構築の自動化
- 作者: 阿佐志保,山田祥寛
- 出版社/メーカー: 翔泳社
- 発売日: 2015/11/20
- メディア: 大型本
- この商品を含むブログ (3件) を見る