docker 学习笔记(九)

克隆 laradock 到本地

$ cd ~
$ git clone https://github.com/Laradock/laradock.git
$ cd laradock
$ git checkout -b v11.0

在 laradock 同级创建 wwwroot 目录作为网站主目录

$ mkdir ~/wwwroot

复制 laradock 项目中的 env-example 到当前目录并改名为 .env

$ cp env-example .env

编辑 .env

在该配置文件中可以修改各种容器的配置,例如 mysql 密码、php 版本等,大家可以自行参考

一下内容是需要修改的地方

# 设置网站主目录
APP_CODE_PATH_HOST=../wwwroot

# 开启 api 源镜像(嘿嘿,这就是开源软件的好处,我们可以给项目提交 pr,让项目可以兼容我国的网络)
CHANGE_SOURCE=true

# 设置 composer 镜像地址
WORKSPACE_COMPOSER_REPO_PACKAGIST=https://mirrors.aliyun.com/composer

# 设置 npm 镜像地址
WORKSPACE_NPM_REGISTRY=https://registry.npm.taobao.org

启动

启动我们需要等容器,然后就是耐心的等待了

$ docker-compose up -d nginx mysql redis workspace

完成

当看到如下内容就表示启动成功了

Creating laradock_mysql_1            ... done
Creating laradock_docker-in-docker_1 ... done
Creating laradock_redis_1            ... done
Creating laradock_workspace_1        ... done
Creating laradock_php-fpm_1          ... done
Creating laradock_nginx_1            ... done

创建 Laravel 项目

接下来让我们看下 laradock 有什么优势吧

创建一个 laravel 项目(我们使用 learnku 的电商实战项目进行演示)

$ cd ~/wwwroot
$ git clone -b L05_7.x https://github.com/summerblue/laravel-shop.git

进入 workspace 容器配置项目

$ docker-compose exec workspace bash

workspace# cd laravel-shop
workspace# composer install
workspace# cp .env.example .env
workspace# php artisan key:generate
workspace# vim .env    //修改数据库部分,内容如下。
workspace# php artisan migrate
workspace# php artisan db:seed

env 配置

查看 laradock 中的 .env 文件,获取数据库相关信息

配置 nginx

$ cd ~/laradock/nginx/sites
$ cp laravel.conf.example shop.conf
//修改配置文件如下图所示
$ vim shop.conf   
$ cd ~/laradock/
$ docker-compose restart nginx

nginx 配置文件

更改项目所属用户

由于权限问题,需要将项目的所属用户设置为 laradock 用户

$ docker-compose exec workspace bash
# chown -R laradock:laradock laravel-shop

将前端项目打包

访问我们设置的域名后发现错误了。由于laravel 项目前端需要打包才能正常运行,下面执行打包操作。

# npm install 
# npm run prod

重新访问项目

如果能看到下面的内容就表示成功了

程序员的艺术人生


文章作者: chenggx
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 chenggx !
评论
 上一篇
docker 学习笔记(十) docker 学习笔记(十)
Swarm 是 Docker 引擎内置(原生)的集群管理和编排工具 学习 swarm 一定要理解的几个重要概念 节点 服务 任务 节点一台物理或云主机加入 docker 集群,那么这台主机就是一个节点。 节点分为管理 (manage
2020-09-06
下一篇 
docker 学习笔记(八) docker 学习笔记(八)
使用 docker-compose 搭建 LNMP 开发环境上一集我们已经可以通过 docker 搭建 LNMP 的开发环境了,但是想必大家也发现配置挺复杂的,每个容器启动都有好长的命令。那有没有更简单一点的方式呢?有的,就是今天要学习的—
2020-08-27
  目录