环境准备
操作系统:Linux Ubuntu16.04 PHP =7.2
卸载之前apt-get remove docker docker-engine
安装 Docker 的AUFS存储驱动程序,强烈建议Ubuntu 14.04用户安装
# apt-get install linux-image-extra-$(uname -r) \ linux-image-extra-virtual
安装Docker ce
1、安装docker包
# apt-get install apt-transport-https \ ca-certificates \ curl \software-properties-common
2、添加Docker的官方GPG密钥
# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
3、设置stable稳定的仓库(stable稳定版每季度发布一次,Edge版每月一次)
# add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
4、更新apt包
# apt-get update
5、安装Docker CE
# apt-get install docker-ce
6、运行Docker
# systemctl start docker
下载laradock
1、本地克隆laradock项目:
git clone https://github.com/Laradock/laradock.git
2、要测试配置访问域名指向 Docker 环境目录,我们先在 laradock 父级目录下创建一个与 laradock 同级的 wwwroot 目录,然后在 wwwroot 目录下用composer 命令创建一个新的 Laravel 应用
mkdir wwwroot composer create-project --prefer-dist laravel/laravel blog
可能报错 修改 docker-compose.yml 修改"2"
3、修改env文件
cd laradock/ cp env-example .env
4、修改项目根路径,打开laradock/.env文件:
APP_CODE_PATH_HOST=../wwwroot/
#这样就相当于为 wwwroot 与 Docker 的 /var/www 目录建立了软链接
5、运行容器: 时间较久
docker-compose up -d nginx mysql redis beanstalkd
6、打开项目的 .env 文件并添加如下配置:
DB_HOST=mysql REDIS_HOST=redis QUEUE_HOST=beanstalkd
7、修改配置 laradock/nginx/sites/default.conf 中的站点目录
root /var/www/blog/public; # blog为wwwroot下新建的laravel项目
8、重启 Docker 的 Nginx:
docker-compose up -d nginx
附加配置
检查一下创建的Laravel项目中的.env文件 ,修改对应的配置:
DB_CONNECTION=mysql DB_HOST=mysql DB_PORT=3306 DB_DATABASE=root DB_USERNAME=root
应用key
将应用的 key(APP_KEY)设置为一个随机字符串,如果是通过 Composer 或者 Laravel 安装器安装的话,该 key 的值已经通过 php artisan key:generate 命令生成了
composer
可以直接进入工作空间,进行composer安装
docker-compose exec workspace bash
添加多域名
cd laradock/nginx/sites/ cp laravel.conf.example abc.conf