美文网首页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