首页 软件

docker安装Nginx和php7软件

2021-12-24 18:09 博客园

Nginx :

# docker pull nginx

# docker run -p 80:80 --name nginx -v /usr/local/nginx/www:/www \

    -v /usr/local/nginx/:/etc/nginx -v /usr/local/nginx/logs:/var/log/nginx \

     -v /usr/local/nginx/www/logs:/www/logs -d nginx

php :

# docker pull php:7.2-fpm

# docker run -p 9000:9000 --name  php -v /usr/local/nginx/www:/www \

    -v /usr/local/php/conf:/usr/local/etc/php  -v /usr/local/php/logs:/phplogs  \

    -d php:7.2-fpm

 

先启动一个不带目录映射的,复制配置文件出来,再启动带有目录映射的

docker cp -a php1:/usr/local/etc/php /usr/local

命令说明:

    -p 9000:9000   将容器的9000端口映射到主机的9000端口

    --name myphp-fpm    将容器命名为myphp-fpm

    -v ~/nginx/www:/www   将主机中项目的目录www挂载到容器的/www

    -v $PWD/conf:/usr/local/etc/php   将主机中当前目录下的conf目录挂载到容器的/usr/local/etc/php

    -v $PWD/logs:/phplogs   将主机中当前目录下的logs目录挂载到容器的/phplogs

查看容器启动情况

# docker ps

 CONTAINER ID  IMAGE    COMMAND     ...    PORTS   NAMES

00c5aa4c2f93 php:5.6-fpm  "php-fpm"  ...    0.0.0.0:9000->9000/tcp  myphp-fpm

通过浏览器访问phpinfo()

PS:此处是通过nginx+php实现web服务,nginx配置文件的fastcgi_pass应该配置为myphp-fpm容器的IP。

fastcgi_pass 172.17.0.4:9000;

容器IP的查方法

docker inspect 容器ID或容器名 | grep '"IPAddress"'

注意:如果报错 file not find 需要修改nginx的配置文件

location ~ \.php$ {    

    fastcgi_pass 127.0.0.1:9000;    

    fastcgi_index index.php;     

   fastcgi_param  SCRIPT_FILENAME /scripts$fastcgi_script_name;  // /scripts 改为$document_root     

   include fastcgi_params;

}

返回首页
返回顶部