English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
検索 Docker Hub のphpイメージ:
Sort byをクリックして他のphpバージョンを確認できます。デフォルトでは最新バージョンが表示されます php:latest。
また、docker search phpコマンドを使用して利用可能なバージョンを確認できます:
w3codebox@w3codebox:~/php-fpm$ docker search php NAME DESCRIPTION STARS OFFICIAL AUTOMATED php PHPTやウェブ開発向けに設計されたが、PH... 1232 [OK] richarvey/nginx-php-fpm Nginxを実行中のコンテナ + PHP-FPM対応... 207 [OK] phpmyadmin/phpmyadmin MySQLおよびMariaDBのためのウェブインターフェース。 123 [OK] eboraas/apache-php PHP5 Apache(SSLサポート付き)上で構築された... 69 [OK] php-zendserver Zend Server - 統合PHPアプリケーション... 69 [OK] million12/nginx-php Nginx + PHP-FPM 5.5、 5.6、 7.0(NG)、CentOS... 67 [OK] webdevops/php-nginx PHPとともにNginx-FPM 39 [OK] webdevops/php-apache PHPとともにApache-FPM(webdevopsに基づく/php) 14 [OK] phpunit/phpunit PHPUnitはプログラマー-指向テスト機能... 14 [OK] tetraweb/php PHP 5.3、 5.4、 5.5、 5.6、 7.0 CIおよび実行用... 12 [OK] webdevops/php PHP(FPMおよびCLI)サービスコンテナ 10 [OK] ...
ここでは、公式のイメージを、タグが5.6-fpm
w3codebox@w3codebox:~/php-fpm$ docker pull php:5.6-fpm
ダウンロードが完了したら、ローカルのイメージリストでREPOSITORYがphp、タグが5.6-fpmのイメージ。
w3codebox@w3codebox:~/php-fpm$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE php 5.6-fpm 025041cd3aa5 6 days ago 456.3 MB
Nginxのデプロイメントについては以下を確認してください:Docker で Nginx インストール、Nginxの設定の一部についてはこの記事を参照してください。
PHPを起動 :
$ docker run --name myphp-fpm -v ~/nginx/www:/www -d php:5.6-fpm
コマンドの説明:
--name myphp-fpm : コンテナの名前をmyphpにします。-fpm。
-v ~/nginx/www:/www : ホストのプロジェクトのディレクトリwwwをコンテナにマウントします。 /www
~を作成 ~/nginx/conf/conf.dディレクトリ:
mkdir ~/nginx/conf/conf.d
このディレクトリに追加 ~/nginx/conf/conf.d/w3codebox-test-php.conf ファイル、内容は以下の通りです:
server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm index.php; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { fastcgi_pass php:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name; include fastcgi_params; } }
設定ファイルの説明:
php:9000: 表示 php-fpmサービスのURL、以下で詳しく説明します。
/www/: は myphp-fpm 中のphpファイルの保存パスは、ローカルの~にマッピングされます。/nginx/wwwディレクトリ。
nginxを起動:
docker run --name w3codebox-php-nginx -p 8083:80 -d \ -v ~/nginx/www:/usr/share/nginx/html:ro \ -v ~/nginx/conf/conf.d:/etc/nginx/conf.d:ro \ --link myphp-fpm:php \ nginx
-p 8083:80ポートマッピング、以下を nginx の 80 はローカルの 8083 ポート。
~/nginx/wwwはローカルの html ファイルの保存ディレクトリです。/usr/share/nginx/html はコンテナ内の html ファイルの保存ディレクトリです。
~/nginx/conf/conf.dはローカルの nginx 設定ファイルの保存ディレクトリです。/etc/nginx/conf.d はコンテナ内の nginx 設定ファイルの保存ディレクトリです。
--link myphp-fpm:phpを myphp-fpm のネットワークを nginx、および以下の変更により nginx の /etc/hosts、ドメイン名 php マッピングして 127.0.0.1、nginx が php を通じてアクセスするようにします:9000 ファイルをアクセス php-fpm。
次に、~/nginx/www ディレクトリ下に index.php を作成し、以下のようになります:
<?php echo phpinfo(); ?>
ブラウザで開く http://127.0.0.1:8083/index.php、以下のように表示されます: