美文网首页
MAC下Docker安装Nginx+PHP+Mysql并配置虚拟

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

作者: 程序员Ameng | 来源:发表于2020-08-04 16:18 被阅读0次

    镜像下载

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

    配置文件说明:

    • php:9000: 表示 php 服务的 URL。
    • /webroot/: 是 php 容器中 php 文件的存储路径,映射到本地的 ~/Documents/code 目录。

    在 ~/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
    

    命令说明:

    • --name mynginx : 将容器命名为 mynginx
    • -v ~/Documents/code:/webroot : 将本地目录~/Documents/code 挂载到容器的/webroot目录下

    验证

    浏览器访问 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


    相关文章

      网友评论

          本文标题:MAC下Docker安装Nginx+PHP+Mysql并配置虚拟

          本文链接:https://www.haomeiwen.com/subject/ukzrrktx.html