nginx :
1拉去取最新版的 Nginx 镜像
docker pull nginx:latest
2查看本地镜像
docker images
3运行容器
docker run --name nginx-test -p 8080:80 -d nginx
参数说明:
–name nginx-test:容器名称(nginx-test为自定义)。
-p 8080:80: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口。
-d nginx: 设置容器在在后台一直运行。
4安装成功
http://localhost:8080/
安装PHP
1.拉取php 镜像
docker pull php:7.2-fpm
2.启动 PHP
docker run --name php7.2-fpm -v ~/nginx/www:/www -d php:7.2-fpm
命令说明:
–name php7.2-fpm : 将容器命名为 php7.2-fpm(为自定义名称)。
-v ~/nginx/www:/www : 将主机中项目的目录 www 挂载到容器的 /www
3.创建 ~/nginx/conf/conf.d 目录:
mkdir ~/nginx/conf/conf.d
在该目录下添加 ~/nginx/conf/conf.d/runoob-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/: 是 php7.2-fpm 中 php 文件的存储路径,映射到本地的 ~/nginx/www 目录。
4启动 nginx:(注意windsow下命令行内 需要先复制到一行)
docker run --name runoob-php-nginx -p 8081:80 -d -v ~/nginx/www:/usr/share/nginx/html:ro -v ~/nginx/conf/conf.d:/etc/nginx/conf.d:ro --link php7.2-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 php7.2-fpm : 把 php7.2-fpm 的网络并入 nginx,并通过修改 nginx 的 /etc/hosts,把域名 php 映射成 127.0.0.1,让 nginx 通过 php:9000 访问 php-fpm。
- 接下来我们在 ~/nginx/www 目录下创建 index.php,代码如下:
echo phpinfo();
6 访问 http://localhost:8081/
具体参考
https://www.runoob.com/docker/docker-install-php.html