暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

使用 Laradock 搭建基于 Docker 的 Laravel 开发环境

技术账本 2021-04-20
1891

前提:已经安装docker

配置镜像加速器

在本地操作系统安装好 Docker 后,需要为 Docker Hub 镜像仓库配置镜像加速器以加速国内 Docker 镜像下载速度,比如阿里云提供的镜像加速器 (阿里云 Docker 镜像加速器获取参考这篇教程:https://yq.aliyun.com/articles/29941)、docker官方在我国的。

Ubuntu/CentOS

通过修改daemon配置文件

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxx.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

复制

Mac/Windows

Mac 系统点击任务栏 Docker 图标选择 Preferences->Docker Engine,Windows 系统通过 Settings->Docker Engine 即可进入镜像加速器配置界面

快速上手

1、先新建一个Docker 目录并进入,然后把Laradock项目克隆到本地

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

复制

2、进入 laradock
目录将 env-example
重命名为 .env

cp env-example .env

复制

然后修改 .env
文件

CHANGE_SOURCE=true   # 更换为国内镜像源安装
MYSQL_VERSION=5.7   # 安装指定版本的mysql,默认是安装最新的
WORKSPACE_INSTALL_NODE=false  # 因为我们本地已经安装node了,所以workspace不需要安装node
WORKSPACE_COMPOSER_REPO_PACKAGIST=https://mirrors.aliyun.com/composer/  # 修改composer镜像
WORKSPACE_TIMEZONE=PRC  # 设置

复制

如果在安装的过程中卡在 apt-get update -yqq
的话就编辑 workspace/Dockerfile
, 在 RUN set -xe; apt-get update -yqq
前写入一下内容

RUN find /etc/apt/sources.list.d/ -type f -name "*.list" -exec sed -i.bak -r 's#deb(-src)?\s*http(s)?://ppa.launchpad.net#deb\1 https://launchpad.proxy.ustclug.org#ig' {} \;

复制

3、构建镜像 & 启动容器

docker-compose up -d nginx mysql redis

复制

4、进入到 wwwroot
目录下,安装laravel 应用 `composer create-project laravel/laravel blog 6.20.0 --prefer-dist`` 对应目录层级如下:

编辑项目的.env
文件并修改如下配置

DB_HOST=mysql
REDIS_HOST=redis

复制

5、配置项目和站点

编辑laradock
.env
文件中的 APP_CODE_PATH_HOST
配置项:

APP_CODE_PATH_HOST=../wwwroot/

复制

这样就相当于为wwwroot
与Docker的 /var/www
目录建立了软连接。

接下来配置nginx, 进入到laradock/nginx/sites
目录下,laradocker
提供了laravel的配置示例,只要复制一个然后修改对应的虚拟域名和项目目录即可。

cp laravel.conf.example blog.conf

复制

设置虚拟域名为 blog.test

6、 重启 Docker 的Nginx:

docker-compose down
docker-compose up -d nginx

复制

然后我们就可以在浏览器中通过 http://blog.test
访问这个应用了


文章转载自技术账本,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论