小白教程
所有教程
关于
Search
172.71.254.31
172.71.254.31
参数设置
贡献
退出
操作
编辑
移动
保护
信息
历史
删除
查看“Docker 安装 PHP”的源代码
本页内容
上一节:
Docker_安装_Nginx
下一节:
Docker_安装_MySQL
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{DISPLAYTITLE:Docker 安装 PHP}}[[Category:Docker 教程|23]] = Docker 安装 PHP = == 安装 PHP 镜像 == === 方法一、docker pull php === 查找 [https://hub.docker.com/_/php?tab=tags Docker Hub] 上的 php 镜像: [https://www.xiaobai.wang/wp-content/uploads/2016/06/0D34717D-1D07-4655-8559-A8661BCB4A3D.jpg ] 可以通过 Sort by 查看其他版本的 php,默认是最新版本 '''php:latest'''。 此外,我们还可以用 docker search php 命令来查看可用版本: <pre> xiaobai@xiaobai:~/php-fpm$ docker search php NAME DESCRIPTION STARS OFFICIAL AUTOMATED php While designed for web development, the PH... 1232 [OK] richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable ... 207 [OK] phpmyadmin/phpmyadmin A web interface for MySQL and MariaDB. 123 [OK] eboraas/apache-php PHP5 on Apache (with SSL support), built o... 69 [OK] php-zendserver Zend Server - the integrated PHP applicati... 69 [OK] million12/nginx-php Nginx + PHP-FPM 5.5, 5.6, 7.0 (NG), CentOS... 67 [OK] webdevops/php-nginx Nginx with PHP-FPM 39 [OK] webdevops/php-apache Apache with PHP-FPM (based on webdevops/php) 14 [OK] phpunit/phpunit PHPUnit is a programmer-oriented testing f... 14 [OK] tetraweb/php PHP 5.3, 5.4, 5.5, 5.6, 7.0 for CI and run... 12 [OK] webdevops/php PHP (FPM and CLI) service container 10 [OK] ... </pre> 这里我们拉取官方的镜像,标签为5.6-fpm <pre>xiaobai@xiaobai:~/php-fpm$ docker pull php:5.6-fpm</pre> 等待下载完成后,我们就可以在本地镜像列表里查到REPOSITORY为php,标签为5.6-fpm的镜像。 <pre> xiaobai@xiaobai:~/php-fpm$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE php 5.6-fpm 025041cd3aa5 6 days ago 456.3 MB </pre> == Nginx + PHP 部署 == Nginx 部署可以查看:[[docker install nginx|Docker 安装 Nginx]],一些 Nginx 的配置参考这篇文章。 启动 PHP: <pre>$ docker run --name myphp-fpm -v ~/nginx/www:/www -d php:5.6-fpm</pre> 命令说明: * '''--name myphp-fpm''' : 将容器命名为 myphp-fpm。 * '''-v ~/nginx/www:/www''' : 将主机中项目的目录 www 挂载到容器的 /www 创建 ~/nginx/conf/conf.d 目录: <pre>mkdir ~/nginx/conf/conf.d </pre> 在该目录下添加 '''~/nginx/conf/conf.d/xiaobai-test-php.conf''' 文件,内容如下: <pre>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; } }</pre> 配置文件说明: * '''php:9000''': 表示 php-fpm 服务的 URL,下面我们会具体说明。 * '''/www/''': 是 '''myphp-fpm''' 中 php 文件的存储路径,映射到本地的 ~/nginx/www 目录。 启动 nginx: <pre>docker run --name xiaobai-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</pre> * '''-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,代码如下: <pre><?php echo phpinfo(); ?></pre> 浏览器打开 '''http://127.0.0.1:8083/index.php''',显示如下:
返回至“
Docker 安装 PHP
”。
上一节:
Docker_安装_Nginx
下一节:
Docker_安装_MySQL