美文网首页Docker开发库社区PHP - Docker
卡夫的Mac 07 - 使用KFKDock搭建PHP项目环境

卡夫的Mac 07 - 使用KFKDock搭建PHP项目环境

作者: 7c03aed0f01f | 来源:发表于2017-08-28 01:34 被阅读389次

    KFKDock

    Docker容器化应用,根据自定义配置文件快速搭建PHP环境。简化一步步手动配置服务器的过程。


    image

    为什么使用 Docker

    1. 文件系统隔离:每个容器有自己的Root文件系统,假设你的服务器被入侵,服务器本身不受影响
    2. 进程隔离:每个容器都运行在自己的进程环境中
    3. 网络隔离:容器间的虚拟网络接口和IP地址都是分开的
    4. 资源隔离和分组:使用cgroups将CPU、内存之类的资源独立分配给每个Docker容器
    5. 写时复制:文件系统是分层的、都是通过写操作进行复制创建,占用空间更小

    GitHub地址

    https://github.com/kfkme/kfkdock

    视频教程

    使用KFKDock搭建PHP项目环境

    包含的软件

    • [x] PHP5.6/7.1
    • [x] Nginx
    • [x] Mysql5.6/5.7(默认密码:kfkdock)
    • [x] MongoDB
    • [x] Redis
    • [x] Memcached

    目录结构

    /kfkdock
        /data                   数据库数据(mysql,redis,mongo)
        /etc                    应用配置项
        /logs                   各种日志(mysql,nginx,php)
        /vhost                  虚拟主机配置
        /www                    项目目录
        /docker-compose.yml     docker-compose配置文件
    

    使用之前,请安装必要的工具
    docker/docker-compose/加速器

    构建

    #进入用户目录
    cd ~/
    
    #下载源码
    git clone https://github.com/kfkme/kfkdock.git
    
    #进入目录
    cd kfkdock
    
    #构建\重建容器
    sudo docker-compose build
    
    #启动容器
    sudo docker-compose up -d
    

    测试PHP代码

    # 启动容器
    cd ~/kfkdock
    sudo docker-compose up
    
    #修改PHP文件
    vi ~/kfkdock/www/index.php
    
    #地址栏访问 localhost
    http://localhost
    
    #完成!
    

    测试Laravel项目

    #编辑本地host文件
    vi /etc/host
    #加入
    127.0.0.1   laravel.cc
    
    #复制一份Laravel项目
    ~/kfkdock/www/laravel
    
    #进入 php71 容器
    docker-compose exec php71 bash
    
    #加载Composer依赖
    cd /var/www/laravel
    composer install --no-plugins --no-scripts
    
    #退出容器,设置Laravel项目的nginx配置
    vi ~/kfkdock/vhost/laravel.cc.conf
    server {
        listen       80;
        server_name  laravel.cc;
        root   /var/www/laravel/public;
        index  index.php index.html index.htm;
    
        location / {
            try_files $uri $uri/ /index.php?$query_string;
        }
    
        location ~ \.php$ {
            fastcgi_pass   php71:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
    }
    
    #退出容器
    exit
    
    #重启容器,应用配置
    docker-composer restart
    
    #访问测试域名
    http://laravel.cc
    
    #成功!
    

    数据库配置

    DB_CONNECTION=mysql
    DB_HOST=mysql57
    DB_PORT=3306
    DB_DATABASE=shop
    DB_USERNAME=root
    DB_PASSWORD=kfkdock
    

    其他

    快捷键/配置XDebug/docker-compose.yml语法解释/Dockerfile语法解释

    QQ交流群

    群号: 259937756 <a target="_blank" href="https://shang.qq.com/wpa/qunwpa?idkey=a593151f7e27a4cb7041db186f09f9727d6af2184737637d52f23d2431372065"><img border="0" src="https://pub.idqqimg.com/wpa/images/group.png" alt="KFKDock" title="KFKDock"></a>

    群号: 259937756

    参考

    相关文章

      网友评论

      • Vincent_ec70:兄弟,docker怎么配置PHP的mongo扩展啊?我尝试很多次,google也找了好久都没找到合适的方法。。。
        7c03aed0f01f:已更新
        Deekon:加群啊 哈哈哈哈哈
      • eaeed9ffdad9:大神,加速器安装不了导致这个错误ERROR: Service 'postgres' failed to build: Get https://registry-1.docker.io/v2/library/postgres/manifests/sha256:c1b2e410c5c21b0dea439ec30ceda763c8432d6f0faefa6e638c3addc61e3a33: net/http: TLS handshake timeout,请问怎么解决啊?
        7c03aed0f01f:@羽灵_0ef0 OK 有其它问题 可以加群找我
        eaeed9ffdad9:@学徒卡夫 谢谢已经找到解决的办法了:smile:
        7c03aed0f01f:详细说下出现错误之前的操作流程
      • pangxiaofei:build完成后,up时报错 Encountered errors while bringing up the project
      • Vincentook:大神,我根据这些方式laravel运行成功了,然后artisan可以make可以创建数据表,结果访问数据、插入数据的时候显示“ PDOException in Connector.php line 55:
        SQLSTATE[HY000] [2002] Connection refused”。。。这是为啥啊??纠结几天了。。。
        7c03aed0f01f:@学徒卡夫 你这应该是 laravel 访问数据库失败
        7c03aed0f01f:@学徒卡夫 看下 .env 是这样配置的吗。新版本是 DB_HOST=mysql57 旧版本是 DB_HOST=mysql
        7c03aed0f01f:DB_CONNECTION=mysql
        DB_HOST=mysql57
        DB_PORT=3306
        DB_DATABASE=shop
        DB_USERNAME=root
        DB_PASSWORD=kfkdock
      • 394568cf6d26:执行到 docker-composer restart 这一步时报了zsh: command not found: docker-composer错误
        7c03aed0f01f:https://github.com/kfkme/kfkdock/blob/master/README_DEPEND.md
        7c03aed0f01f:docker-compose 没有安装
      • 403_fce3:我是windows的系统,虚拟机里面装的是ubuntu,执行到sudo docker-compose build这一步的时候就开始报错,,,,报错信息是:
        ---> Running in cd6416d2e67b
        gpg: directory `/root/.gnupg' created
        gpg: new configuration file `/root/.gnupg/gpg.conf' created
        gpg: WARNING: options in `/root/.gnupg/gpg.conf' are not yet active during this run
        gpg: keyring `/root/.gnupg/secring.gpg' created
        gpg: keyring `/root/.gnupg/pubring.gpg' created
        gpg: requesting key 437D05B5 from hkp server keyserver.ubuntu.com
        ?: [fd 4]: read error: Connection reset by peer
        gpgkeys: key 40976EAF437D05B5 partially retrieved (probably corrupt)
        gpg: no valid OpenPGP data found.
        gpg: read_block: read error: invalid packet
        gpg: Total number processed: 0
        ERROR: Service 'php71' failed to build: The command '/bin/sh -c gpg --keyserver keyserver.ubuntu.com --recv-keys 40976EAF437D05B5 && gpg -a --export 40976EAF437D05B5 | apt-key add - && apt-get update && apt-get -y upgrade' returned a non-zero code: 2
        7c03aed0f01f:或者你可以在GitHub提交issues,GitHub地址 https://github.com/kfkme/kfkdock
        7c03aed0f01f:不加sudo,直接执行docker-compose build试试

      本文标题:卡夫的Mac 07 - 使用KFKDock搭建PHP项目环境

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