基于 LaraDock 在 Docker 中快速构建 Laravel 应用系列教程(一) —— 搭建环境

   2016-12-06 0
核心提示:1、开始之前 LaraDock 简介 LaraDock致力于简化创建开发环境过程,能够帮你在Docker上快速搭建Laravel应用。就像LaravelHomestead一样,只不过用Docker替换了Vagrant。它预包装了Docker镜像,为我们提供了一站式的开发环境,而不需要再去在本地机器安装PHP、N

基于 LaraDock 在 Docker 中快速构建 Laravel 应用系列教程(一) —— 搭建环境

1、开始之前

LaraDock 简介

LaraDock致力于简化创建开发环境过程,能够帮你在Docker上快速搭建Laravel应用。 就像LaravelHomestead一样,只不过用Docker替换了Vagrant。它预包装了Docker镜像,为我们提供了一站式的开发环境,而不需要再去在本地机器安装PHP、Nginx、MySQL以及其他任何开发过程中需要的软件。

支持的软件

  • 数据库引擎:
    • MySQL
    • PostgreSQL
    • MariaDB
    • MongoDB
    • Neo4j
  • 缓存引擎:
    • Redis
    • Memcached
  • PHP 服务器:
    • NGINX
    • Apache2
    • Caddy
  • PHP 编译工具:
    • PHP-FPM
    • HHVM
  • 消息队列系统:
    • Beanstalkd (+ Beanstalkd Console)
  • 工具:
    • Workspace (PHP7-CLI, Composer, Git, Node, Gulp, SQLite, Vim, Nano, cURL…) >如果你找不到你需要的软件,构建它然后把它添加到这个列表。

什么是Docker

Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。

Docker vs Vagrant

从时间上来看,Vagrant启动虚拟机需要数分钟,而Docker只需数秒;从体量上来看,Vagrant提供的是完整的虚拟机,而Docker提供的是轻量级的虚拟容器,这些虚拟容器共享同一个内核并且允许在独立进程中运行;此外,从应用范围来说,Vagrant只能用于开发环境,而Docker即可用于开发环境也可用于生产环境。

LaraDock vs Homestead

类比Docker和Vagrant,LaraDock和Homestead都能够为我们提供完整的虚拟开发环境,LaraDock是用于管理控制Docker的工具,而Homestead是用于管理控制完整虚拟机(如VirtualBox+Ubuntu)的工具,LaraDock运行速度比Homestead更快。

2、环境搭建

讲完了上面的概念和术语,下面我们进入实战,开始基于LaraDock在本地安装开发环境。

依赖

安装之前,需要确保系统已经安装这两个软件:

安装LaraDock

如果系统尚未安装Laravel应用,需要从头开始搭建全新的环境,可以在系统任意位置克隆Github仓库到本地:

git clone https://github.com/LaraDock/laradock.git

如果之前已经安装了Laravel,也可以在Laravel应用根目录下克隆上述Github仓库代码。

安装Laravel应用

进入 laradock 目录,运行如下命令启动Nginx和MySQL(容器不存在的话会从远程下载到本地):

docker-compose up -d nginx mysql

你可以从以下列表选择你自己的容器组合:

nginx, hhvm, php-fpm, mysql, redis, postgres, mariadb, neo4j, mongo, apache2, caddy, memcached, beanstalkd, beanstalkd-console, workspace

注: workspace 和  php-fpm 将运行在大部分实例中, 所以不需要在  up 命令中加上它们。

启动之后,进入 workbase 容器,执行Laravel安装及Artisan命令等操作:

docker-compose exec —user=laradock workspace bash

我们以 laradock 用户的身份进入容器。

进入容器后,执行以下命令安装Laravel:

composer create-project laravel/laravel coolapp

安装完成后,编辑 laradock 目录下的 docker-compose.yml 文件修改目录映射(系统默认假定Laravel应用在LaraDock的父级目录中),我们需要用  ../my-cool-app/:/var/www 替换  ../:/var/www

application:
build: ./application
volumes:
    - ../coolapp/:/var/www

接下来进入 coolapp 目录编辑 .env 的数据库配置:

DB_HOST=mysql

至此,基本安装及配置已经完成,我们在浏览器中访问 http://localhost/ ,即可看到如下页面:

基于 LaraDock 在 Docker 中快速构建 Laravel 应用系列教程(一) —— 搭建环境

是不是很方便快捷?

下一节我们将继续探讨Docker的一些常用操作以及Laravel项目关联软件和命令的使用。

 
标签: Docker Laravel
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

  • Docker windows下安装并搭建Nodejs的webapp
    Docker windows下安装并搭建Nodejs的webapp
    一、关于Docker什么是Docker?Docker 采用go语言编写,是一个开源的应用容器引擎。让开发者可以快速打包他们的应用以及依赖包到一个封装的可移植的容器Image中,然后发布到任何流行的机器( Linux ,windows,Mac等)上,也可以实现虚拟化。容器是使用完全
    02-09
  • Docker-用LaraDock搭建PHP环境 docker搭建php开
    简介LaraDock 致力于简化创建开发环境过程,能够帮助我们在 Docker 上快速搭建 PHP 开发环境。 它预装了 Docker 镜像,为我们提供了一站式的开发环境,而不需要再去在本地机器安装 PHP、Nginx、MySQL 以及其他很多开发过程中需要的软件。特点:在 PHP 版本:7
    02-09
  • WASM 之 Rust 开发(Windows Docker环境)
    WASM 之 Rust 开发(Windows Docker环境)
    环境活动: 学 Rust,免费拿树莓派+Rust 官方文档Windows10 ProDocker (开启 WSL2 Feature 及 Hyper-V 虚拟层)基于Rust的wasm项目开发模板 https://github.com/second-state/ssvm-nodejs-starter/VSCode 及其 Rust 插件另外可以考虑加上 Remote-Docker 插件测
    02-09
  • Docker安装ruby2.1 docker安装青龙面板
    # sudo apt-get install Python-software-properties# sudo apt-add-repository ppa:brightbox/ruby-ng# sudo apt-get update# sudo apt-get install ruby2.1 ruby2.1-dev 解决方案:apt-get install python-software-properties apt-get install software-p
    02-09
  • Docker windows下安装,入门及注意事项,并搭建包含Nodejs的webapp
    Docker windows下安装,入门及注意事项,并搭建
        一、关于Docker什么是Docker?Docker 采用go语言编写,是一个开源的应用容器引擎。让开发者可以快速打包他们的应用以及依赖包到一个封装的可移植的容器Image中,然后发布到任何流行的机器( Linux ,windows,Mac等)上,也可以实现虚拟化。容器是
    02-09
  • Selenium4+Python3系列(十三) - 与docker中的
    前言文章更新到这一篇时,其实我还是很开心的,因为这也正是这系列教程的最后一篇文章,也算是完成了一个阶段性的小目标,也很感谢那些愿意看我文章与我交流学习的同学,感谢有你们的支持和陪伴。Jenkins的下载安装1、拉取镜像:笔者是Mac系统,为了方便就直
    02-09
  • [Go语言]从Docker源码学习Go——指针和Structs
    这两天在看reflect这个包在Docker中的使用时,遇到了各种问题,最后虽然知道怎么用了。但是对于这块的原理还不是太懂,于是把"THE WAY TO GO"中关键的几章看了下。继续坚持往下写,争取能说明白。源码还是先看Docker中源码, docker/api/client/cli.gotype Doc
    02-09
  • /usr/bin/docker-current: Error response from
    docker创建容器时报错如下:containerd: start container” error=“oci runtime error: container_linux.go:247: starting container process caused “process_linux.go:245: running exec setns process for init caused \“exit status 17\””\n”答:这
    02-09
  • 【Docker】使用Docker Client和Docker Go SDK为
    目录背景使用 Docker Client 调用 GPU依赖安装安装 Docker安装 NVIDIA Container Toolkit¶--gpus 用法使用 Docker Go SDK 为容器分配 GPU使用 NVIDIA/go-nvml 获取 GPU 信息使用 Docker Go SDK 为容器分配 GPU背景深度学习的环境配置通常是一项比较麻烦的工
    02-09
  • docker报错 ERROR: Service 'workspace�
    在 Windows 系统中使用 Laradock 搭建基于 Docker 的 PHP 开发环境执行命令 docker-compose up nginx mysql redis执行过程中出现错误报 laradock ERROR: Service ‘workspace’ failed to build:报 docker ERROR: Service 'php-fpm' failed to build:解决方案
    02-09
点击排行