用docker 做 laravel的开发环境 , 顺便介绍一下如何将docker 容器设置成本地命令


需要用 laravel 开发,想到用docker。 Laravel 是2015年最热门的php 开发框架之一。

网上有些类似介绍,但是觉得还是自己写一个。

先建个文件, 赋予可执行权限。目的是将composer镜像当做本地命令运行。

$ cat /usr/local/bin/composer

!/bin/sh

export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
echo "Current working directory: '"$(pwd)"'"
docker run --rm -v $(pwd):/app -v ~/.ssh:/root/.ssh composer/composer $@

$ chmod +x /usr/local/bin/composer


确认环境变量的PATH 里含 /usr/local/bin

当然,你也可以用alias的方式
alias composer="docker run --rm -v $(pwd):/app -v ~/.ssh:/root/.ssh composer/composer"


建个composer.json的需求模版

$ mkdir composer
$ cd composer
$ cat composer.json
{
"require": {
    "laravel/installer": ">=1.3.3"
}
}


安装 laravel 环境

composer install


其实,这个时候,运行了/usr/local/bin/composer, 而脚本里调用了composer/composer的镜像。

创建第一个项目

$ composer create-project --prefer-dist laravel/laravel blog
...
phpunit/phpunit suggests installing phpunit/php-invoker (~1.1)
Writing lock file
Generating autoload files
> Illuminate\Foundation\ComposerScripts::postUpdate
> php artisan optimize
Generating optimized class loader


APP_KEY 会自动更新。 如果没有更新,你可以手动更新
$ cd blog
$ php artisan key:generate


启动php 服务器

$ cd blog 
$ php artisan serve
Laravel development server started on http://localhost:8000/


这样你就可以访问 http://localhost:8000/ 看到laravel 初始页面了。

1 个评论

包在代码(<>) 里的 `#!/bin/sh` 会变成 `!/bin/sh`

要回复文章请先登录注册