laradock初体验

容器技术docker已经火了很久了,之前只是简单的看了些入门的文档,简单的体验了一下,最近看到一篇docker的文章,开头列出了一些招聘中对docker的要求,下面也详细讲了docker的使用,受益匪浅,这里记录下我在php环境中使用docker技术的初体验,在centos7.4中使用laradock搭建laravel环境。

安装docker

docker的介绍和价值不再说了,基本使用方法请参考这篇文章。
最为详细的Docker入门指南

安装docker-compose

安装Docker-Compose之前,请先安装 python-pip
安装 python-pip
1、首先检查linux有没有安装python-pip包,终端执行 pip -V
2、没有python-pip包就执行命令 yum -y install epel-release
3、执行成功之后,再次执行yum -y install python-pip
4、对安装好的pip进行升级 pip install --upgrade pip

安装Docker-Compose
1、终端执行:pip install docker-compose --ignore-installed requests
2、检查docker-compose 安装:docker-compose -version

安装laradock

因为我一直是从事php开发的,laravel这个框架也用了很久,一直使用官方提供 Homestead 作为本地开发环境是一个虚拟机,跟 docker 比,它占用体积太大,启动速度慢,同时响应速度很慢, docker 这种更方式,可以轻松方便的搭建整套 PHP 开发环境。这里就用laradock使用体验记录下来,给需要的人参考。

  • 前置条件:docker,git 安装好
  • 克隆laradock。
//比如在/var/www/html 目录
# cd /var/www/html
# git clone https://github.com/Laradock/laradock.git
  • 创建环境变量
# cd /var/www/html/laradock/
# cp env-example .env 
  • 启动需要的服务
# docker-compose up -d nginx mysql redis phpmyadmin workspace

我在前面几步没有遇到问题,在这个步骤提示安装时候文件权限有问题,其他服务都能启用,workspache服务不能启用,导致无法进入workspache执行例如:php aritisan ,composer,node等命令,后来经过github中找答案发现是最新版本不稳定有问题v7.8.0,然后重新检出v7.7.0后重新构建可以用了。

创建laravel项目测试

  • 在laradock同级目录创建wwwroot目录,即/var/www/html/wwwroot
  • 修改/var/www/html/laradock/.env文件

    # APP_CODE_PATH_HOST=../wwwroot/
  • 重启workspace容器并进入该容器,进入后会进入容器内目录/var/www,这个目录对应操作系统的/var/www/html/wwwroot。

    # docker-compose exec workspace bash
  • 创建laravel项目,这个目录就可以操作composer命令,我们按照laravel官方的文档操作创建项目即可,这里不在详述。
  • 配置laravel项目.env文件,这里区别于之前配置,比如MySQL、redis等服务host链接配置。

    # DB_CONNECTION=mysql
    # DB_HOST=mysql
    # DB_PORT=3306
    # DB_DATABASE=default
    # DB_USERNAME=root
    # DB_PASSWORD=root
    # 
    # BROADCAST_DRIVER=log
    # CACHE_DRIVER=file
    # QUEUE_CONNECTION=sync
    # SESSION_DRIVER=file
    # SESSION_LIFETIME=120
    # 
    # REDIS_HOST=redis
    # REDIS_PASSWORD=null
    # REDIS_PORT=6379
  • nginx配置,切到目录/var/www/html/laradock/nginx/sites/,这里配置类似nginx的多项目配置,有默认的可以参考,配置成自己的域名对应项目目录写容器中地址/var/www/项目目录名/public即可,然后容器命令重启nginx容器,然后通过浏览器访问服务即可。例如:卓上一品

    // 切到laradock目录操作命令
    # docker-compose restart nginx

    laradock初体验

参考资料

上一篇:实现字符串全排列


下一篇:VirturlBox 创建Centos7并配置网络NAT+Host-Only