1.启一个php容器

docker run --name  myphp-fpm -v /www/server/nginx/www:/www  -d php:5.6-fpm

说明:

(1)把容器/www目录,挂载到缩主机的/www/server/nginx/www目录,以方便放代码。

2、启一个nginx容器

docker run --name runoob-php-nginx -p 8083:80 -d     -v /www/server/nginx/www:/usr/share/nginx/html     -v /www/server/nginx/conf/conf.d:/etc/nginx/conf.d   --link myphp-fpm:php

说明:

(1)把容器/usr/share/nginx/html目录,挂载到宿主机的/www/server/nginx/www目录,方便放代码。

(2)把容器/etc/nginx/conf.d目录,挂载到宿主机/www/server/nginx/conf/conf.d目录,方便我我们改配置。

(3)--link myphp-fpm:php ,连接容器,以用主机名来通讯。而不用映射mysql的端口到宿主机

3、接着在 宿主机/www/server/nginx/conf/conf.d目录,建立一个nginx配置文件,代码如下:

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;
    }

#fastcgi_pass 127.0.0.1:9000
    location ~ \.php$ {
        fastcgi_pass   myphp-fpm:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /www/$fastcgi_script_name;
        include        fastcgi_params;
    }
}

说明:

(1)访问80端口时,路由到 /usr/share/nginx/html下。

(2)访问以.php结尾的文件时,路由到/www目录下,而/www,又与/www/server/nginx/www挂载,所以最终都路由到宿主机的 /www/server/nginx/www 目录下。

(3)因为我们用 --link myphp-fpm:php 连接了容器,所以 myphp-fpm:9000时,即是访问fpm的9000端口,进行通讯。

所以我们最终可以在浏览器访问:

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐