• docker php8安装


    WHY

    最近开始学习laravel,对要求php8以上,正好趁此机会,也了解下php8

     因为本地docker之前有过nginx、php7.5的镜像容器在运行,最初打算新起个php8的docker容器,然后和现有nginx走同一个network,通过不同的name来区分指定(之前php7name为php,这个打算name为php8),然后nginx配置做转发时,根据对于对应的name来区分。。

    理想很美,但按照这样的逻辑来实现一直未成功。希望有解决办法的朋友们能够在评论里分享出来

    中间通过指定端口来启动php8容器,也未能实现上面的目的....

    那么只能,

    新起nginx容器+php8容器走一个独立的network

    HOW

    notice: 对应使用的镜像需自行先下载

    我的laravel项目代码位置: ~/dev/wanghaokun/laravelTest

    create network

    docker network create -d bridge nginxphp8
    

    create php container

    docker run --name php8 --net nginxphp8 --network-alias php8 --restart=on-failure:10 -v /Users/wanghaokun/dev:/www/code -d wohaokun/php8:1.0

    create nginx container

    docker run --name nginxphp8 -p 9084:9084 -d -v /Users/wanghaokun/dev:/www/code --net nginxphp8 --restart=on-failure:10 wohaokun/nginxphp8:1.0

    WHAT

    访问效果

    附:

    nginx laravel 配置

    之前一直想把代码及日志目录挂到/dev目录下,发现每次容器重启和commit提交镜像,里面修改的内容均不会被保存,故将数据统一放到了新建的 /www 目录下。

    server {
        listen 9084;
        # listen [::]:80;
        # server_name example.com;
        root /www/code/wanghaokun/laravelTest/public;
    
        add_header X-Frame-Options "SAMEORIGIN";
        add_header X-Content-Type-Options "nosniff";
    
        index index.php;
    
        charset utf-8;
    
        location / {
            try_files $uri $uri/ /index.php?$query_string;
    
            access_log  /www/logs/laravelTest-api-access.log main;
            error_log   /www/logs/laravelTest-api-error.log; 
        }
    
        location = /favicon.ico { 
            access_log off; 
            log_not_found off; 
        }
        location = /robots.txt  { 
            access_log off; 
            log_not_found off; 
        }
    
        error_page 404 /index.php;
    
        location ~ \.php$ {
            fastcgi_pass php8:9000;
            # fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
            fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
            include fastcgi_params;
        }
    
        location ~ /\.(?!well-known).* {
            deny all;
        }
    }
  • 相关阅读:
    4 Python+Selenium的元素定位方法(link/partial link)
    3 Python+Selenium的元素定位方法(id、class name、name、tag name)
    2 Selenium3.0+Python3.6环境搭建
    1 Selenium打开浏览器
    目录处理文件&链接命令
    DOS批处理命令-@命令
    DOS批处理命令-echo
    吐槽一二三
    编码神器之sublime(插件安装)
    两天来学习C的感受
  • 原文地址:https://www.cnblogs.com/wanghaokun/p/16384830.html
Copyright © 2020-2023  润新知