laradock初体验

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 Tair(兼容Redis),内存型 2GB
简介: laravel这个框架也用了很久,一直使用官方提供 Homestead 作为本地开发环境是一个虚拟机,跟 docker 比,它占用体积太大,启动速度慢,同时响应速度很慢, docker 这种更方式,可以轻松方便的搭建整套 PHP 开发环境。

容器技术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

    image

参考资料

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
iOS开发
CTMediator 的初体验
​ 现在对于iOS开发的要求随着时代的发展,也在渐渐地演变。这几天看到了很多JD的要求,多多少少都会提到这样的一个名字-组件化。
|
存储 弹性计算 Java
我的阿里云初体验
经过同学的推荐,参加了阿里云的“飞天加速计划·高校学生在家实践 ”,首次体验了阿里云的ECS服务器,整体来说使用体验非常好,也非常推荐大家来使用ECS服务器。
200 0
我的阿里云初体验
|
Kubernetes 图形学 容器
【Agones系列】Agones初体验
本文介绍了Agones并在阿里云容器服务上运行Agones进行游戏服部署
【Agones系列】Agones初体验
|
开发者
服务器初体验
初次使用服务器的体验
|
机器学习/深度学习 弹性计算 算法
阿里云初体验
正式开启学习编程,希望能通过阿里云学到本领。从教学例程来看整体的使用过程是非常简单友好的。阿里云的控制台的使用体验是非常不错的,界面的信息都比较简单易懂。感谢阿里云提供这样的资源。
133 0
|
Java Linux Docker
阿里云的使用初体验
学生党在面对虚拟机的时候首先还是推荐使用阿里云的虚拟机,原因让我娓娓道来;
|
弹性计算 Linux 网络安全
阿里云初体验
因为对linux感兴趣,第一次使用了云服务器,有些收获
|
存储 弹性计算 Linux
阿里云初体验心得
我是一名就读于计算机科学与技术专业的在校生,学习期间在老师那了解到了“飞天加速计划”,通过简单的答题之后,我领取到了一台ECS云服务器,并计划将其作为之后自学相应网站开发的基础。
|
人工智能 Cloud Native 算法
阿里云使用初体验
阿里云作为全球领先的科技公司,在云计算与人工智能方面很有建树,为许多国家与企业提供便利的服务与强有力的技术支撑。
192 0
|
Linux 数据安全/隐私保护
使用阿里云的初体验
使用阿里云的初体验