MAC下Docker安装Nginx+PHP+Mysql并配置虚拟

2020-08-04  本文已影响0人  程序员Ameng

镜像下载

PHP镜像下载

docker pull php:7.4.8-fpm

Nginx镜像下载

docker pull nginx

Mysql镜像下载

docker pull mysql:5.7 

验证

docker images

结果如图:


制作配置文件

创建 ~/nginx/conf/ 配置等目录

mkdir -p  ~/nginx/logs ~/nginx/conf

创建nginx的配置文件

vim ~/nginx/conf/nginx.conf

配置文件如下:

server {
    listen       80;
    server_name  localhost;

    location / {
        root   /webroot/;
        index  index.html index.htm index.php;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /webroot/;
    }

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

配置文件说明:

在 ~/Documents/code 目录下创建index.php

<?php
    phpinfo();
?>

运行Mysql容器

docker run -it -d -p8066:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mysql57 -v ~/Documents/code/mysqldata:/usr/local/mysql mysql:5.7

运行PHP容器

docker run --name php7 -v ~/Documents/code:/webroot -d php:7.4.8-fpm

运行Nginx容器

docker run --name mynginx -p 80:80 -v ~/Documents/code:/webroot -v ~/nginx/conf:/etc/nginx/conf.d --link php7:php --link mysql57:mysql -d nginx

命令说明:

验证

浏览器访问 localhost


配置虚拟域名

修改nginx的配置文件

vim ~/nginx/conf/nginx.conf
server {
    listen       80;
    server_name  mytest.com;

    location / {
        root   /webroot/test/;
        index  index.html index.htm index.php;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /webroot/test/;
    }

    location ~ \.php$ {
        fastcgi_pass   php:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  /webroot/test/$fastcgi_script_name;
        include        fastcgi_params;
    }
}

重启容器

docker restart mynginx

修改hosts文件

sudo vim /ets/hosts

增加

127.0.0.1 mytest.com

测试

在~/Documents/code下创建test文件夹,在该文件夹新建一个index.php

<?php
echo "hello world";
?>

验证

浏览器访问 mytest.com


上一篇下一篇

猜你喜欢

热点阅读