未加星标

通过 d4m-nfs 运行 laradock,告别龟速的虚拟机

字体大小 | |
[开发(php) 所属分类 开发(php) | 发布者 店小二03 | 时间 2017 | 作者 红领巾 ] 0人收藏点击收藏

LaraDock能够帮你在 Docker 上快速搭建 Laravel 应用。就像Laravel Homestead一样,但是Docker替换了Vagrant。

介绍

大家可以先看官方 Laradock_README.md 。使用方法很简单,让我们从此再也不需要使用Vagrant了。

特点 php版本:7.0,5.6.5.5…之中可以简单切换。 可选择你最喜欢的数据库引擎,比如:mysql, Postgres, MariaDB… 可运行自己的软件组合,比如:Memcached, HHVM, Beanstalkd… 所有软件运行在不同的容器之中,比如:PHP-FPM, NGINX, PHP-CLI… 通过简单的编写 dockerfile 容易定制任何容器。 所有镜像继承自一个官方基础镜像(Trusted base Images) 可预配置Laravel的Nginx环境 容易应用容器中的配置 干净的结构化的Docker配置文件( dockerfile ) 最新的Docker Compose 版本( docker-compose ) 所有的都是可视化和可编辑的 快速的镜像构建 每周都会有更新…

通过Laradock我们可以很轻松的搭建开发环境,并且可以定制自己环境的需求,并共享出来,例如:nginx的配置环境,如果是团队开发Laradock将会帮助我们省去很多搭环境的工作,并保证大家的环境都是一样的。

Docker

Docker 是一个开源项目,自动化部署应用程序软件的容器,在linux,Mac OS and windows提供一个额外的抽象层和自动化的 操作系统级的虚拟化 。这部分内容大家去度娘、谷歌,这里复制官方简介。

开始 安装

1 克隆 LaraDock 仓库:

A)如果你已经有一个Laravel项目,克隆这个仓库在到 Laravel 根目录

git submodule add https://github.com/LaraDock/laradock.git

如果你不是使用Git管理Laravel项目,您可以使用 git clone 而不是 git submodule 。


通过 d4m-nfs 运行 laradock,告别龟速的虚拟机
如果你没有一个Laravel项目,你想Docker安装Laravel,克隆这个源在您的机器任何地方上: git clone https://github.com/LaraDock/laradock.git

这里我建议使用B方法,全局安装

使用(这里用mac作为例子)

官方文档有说明如果你正在使用 Docker Toolbox (VM)基于VitrulBox创建的实例,建议更新到Docker Native

1 运行容器: (在运行docker-compose命令之前,确认你在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 命令中加上它们.

2 进入 Workspace 容器, 执行像 (Artisan, Composer, PHPUnit, Gulp, …)等命令

docker-compose exec workspace bash

增加 --user=laradock (例如 docker-compose exec --user=laradock workspace bash ) 作为您的主机的用户创建的文件. (你可以从 docker-compose.yml 修改 PUID (User id) 和 PGID (group id) 值 ).

3 编辑 Laravel 的配置.

如果你还没有安装Laravel项目,请查看 How to Install Laravel in a Docker Container .

打开 Laravel的 .env 文件 然后 配置 你的 mysql 的 DB_HOST :

DB_HOST=mysql

注意定义DB_HOST的时候一定要写成mysql,不然无法link到容器

4 打开浏览器访问localhost ( http://localhost/ ).

建议修改host文件

127.0.0.1 www.youresite.com 关于Laradock 使用教程详情可以参考官方文档,这里就介绍到这里,但当你一切都准备好之后你会发现为什么跑起来这么慢,我第一次跑的时候也很纳闷,后来谷歌上查阅了很多资料后发现原来Laradock挂载的工作空间Workspace在docker内置的软虚拟机中,这就尴尬了,但幸好有解决的办法,下面介绍下[d4m-nfs]( https://github.com/IFSight/d4m-nfs ) D4m-nfs

d4m-nfs 是docker的一个扩展,通过他可以把docker的 file sharing 挂载到本地,因为我用的是mac所以这里只介绍mac的挂载方法

step 1

在 Docker 中打开 Preferences , 点击 File Sharing 将其它目录全部删掉只保留 /tmp 目录


通过 d4m-nfs 运行 laradock,告别龟速的虚拟机
step 2

克隆 d4m-nfs 到 ~ 目录下

git clone https://github.com/IFSight/d4m-nfs ~/d4m-nfs step 3

项目克隆下来后修改 ~/d4m-nfs/etc/d4m-nfs-mounts.txt 文件,若文件不存在自己手动建一个

// 文档中加入下面挂载目录
/Users:/Users
/Volumes:/Volumes
/private:/private step 4

检查系统文件 /etc/exports 下是否有内容,编辑文件清空所有内容

cat /etc/exports // 查看/etc/exports
# d4m-nfs exports
"/Users" -alldirs -mapall=0:0 localhost
"/Volumes" -alldirs -mapall=0:0 localhost
"/private" -alldirs -mapall=0:0 localhost step 5

在 ~ 目录下运行脚本

~/d4m-nfs/d4m-nfs.sh

脚本运行后程序开始初始化最后终端会展示以下内容

....
Please note:
* To connect to the D4M moby linux VM use: screen -r d4m
* To disconnect from the D4M moby linux VM tty screen session use Ctrl-a d.
* To run d4m-nfs faster and/or offline, leave the files in d4m-apk-cache and the hello-world image.
* If you switch between D4M stable and beta, you might need to remove files in d4m-apk-cache and the hello-world image.
# Use Stable Docker for Mac channel
Currently d4m-nfs is known to work on 'Docker version 1.12.3' and does not work on Docker for Mac beta (1.13). Please use the stable channel of Docker for Mac https://docs.docker.com/docker-for-mac/
# ionotify for Sublime users
If you use Sublime, please checkout the plugin by Yves to help with auto reloads on file changes - https://github.com/yvess/sublime_d4m

通过命令进入挂载目录的窗口

screen -r d4m

如果看到以下挂载项表示挂载成功

192.168.65.1:/Users/Lavekin /mnt nfs nolock,local_lock=all 0 0
192.168.65.1:/Users /Users nfs nolock,local_lock=all 0 0
192.168.65.1:/Volumes /Volumes nfs nolock,local_lock=all 0 0
192.168.65.1:/private /private nfs nolock,local_lock=all 0 0 step 6

回到 laradock 目录下将你的容器跑起来

docker-compose up -d nginx redis mysql
Creating network "laradock_default" with the default driver
Creating laradock_redis_1
Creating laradock_applications_1
Creating laradock_mysql_1
Creating laradock_workspace_1
Creating laradock_php-fpm_1
Creating laradock_nginx_1

看到以上运行日志恭喜你已将容器跑起来并挂载到本地了

参考资料 laradock d4m-nfs

本文开发(php)相关术语:php代码审计工具 php开发工程师 移动开发者大会 移动互联网开发 web开发工程师 软件开发流程 软件开发工程师

主题: DockerLaravelPHPMySQLSQLNginx虚拟化Git开源Memcached
分页:12
转载请注明
本文标题:通过 d4m-nfs 运行 laradock,告别龟速的虚拟机
本站链接:http://www.codesec.net/view/534189.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 开发(php) | 评论(0) | 阅读(15)