Laradock 入门配置

介绍


最近由于换到了macos,所以想试试久仰大名的docker,了解了一下基本的docker知识后,在LC社区里找到了laradock这个轮子,试了下,文档详细,操作简单,很适合给新手搭建php的docker环境。下面就记录下配置步骤。

docker文档
laradock中文文档


开始


没有一个PHP项目

  1. 将repository克隆到你机器的任意位置:

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

    文件夹结构如下

    +laradock
    +project-z

  2. 进入laradock文件夹并复制env-example to .env

    cp env-example .env

3.在顶部, 修改 APPLICATION变量为你的项目路径.

APPLICATION=../project-z/

4.运行docker-compose来构建环境

docker-compose up -d nginx mysql

注意: 大多数情况下 workspace 和 php-fpm 会自动运行, 所以不需要再up命令中指定它们, 如果你找不到他们,那么你需要这样指定它们: docker-compose up -d nginx php-fpm mysql workspace。

5.进入Workspace容器, 执行比如(Artisan, Composer, PHPUnit, Gulp, ...)等命令

docker-compose exec workspace bash

(win用户)docker exec -it {workspace-container-id} bash


上面是照搬laradock文档的,跟着做一般不会有问题,但我在做的时候有个小疑问,就是在多项目共用一个laradock环境的时候,文档里面给的那个方法自己看的不是很明白,于是按自己理解配置了下。


我的文件结构如之前配置的一样,一个laradock目录,一个项目目录名为test。

file

然后进入workspace的bash,可以看到/var/www目录就是test映射来的。再去找nginx配置文件,在laradock/nginx/sites里可以看到有几个样本文件,一个default.conf文件,default文件的root默认是/var/www/public。所以,可以看出想配置多个项目的话,修改nginx配置文件及对应的文件结构即可。

+laradock
+test
++laravel
++phptest

file
file

这是我的目录结构,配置好后记得把本机hosts修改下。然后重启docker即可。

然后就可以访问了,
file
file

第一次在LC发表文章 md用的很难,文词也不行,请见谅。。


今天发现有个地方需要注意一下,连接mysql的时候,在navicat里用127.0.0.1可以连上,但在laravel的env里DB_HOST里用127.0.0.1不行,用原生pdo连接也不行。然后查了下,发现,在laradock里,要 file
DB_HOST填写mysql即可。

本帖由系统于 7个月前 自动加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 20
  • 刚好也在开始用这个轮子
8个月前

@二师兄 目前我遇到了一点坑,在env里将mysql的版本从latest切换到5.7.然后重新build 启动,mysql会无法启动,ps查看进程显示 exit 2.恢复到latest的8.0版本就好了。

8个月前
susucool

可能是因为你已经编译过mysql,删除已经编译的mysql挂载文件再启动试试看,挂载的mysql文件在~/.laradock/data/mysql

8个月前

我也遇到了你说的切换mysql版本的问题,vim .env 然后/DATA_PATH_HOST 搜索,检查 DATA_PATH_HOST 变量 的路径是否正确,修改后 重新build

8个月前

@susucool 非常感谢,果然是因为挂载文件的原因 :blush:

8个月前

@两说 我参考楼上老哥 删除挂载文件的方法 完美解决了

8个月前

portainer 可方便的让你管理你的容器 非常方便 启动的时候多加一个 portainer 就行 9010 端口

8个月前
Andy_xiaojun

ERROR: Service 'php-fpm' failed to build: The command '/bin/sh -c if [ ${INSTALL_IMAGEMAGICK} = true ]; then apt-get install -y libmagickwand-dev imagemagick && pecl install imagick && docker-php-ext-enable imagick ;fi' returned a non-zero code: 100


这是什么鬼。。。 :joy: :joy: :joy:

8个月前
eiomi

:kissing_heart:

8个月前

@Andy_xiaojun 我遇到了跟你一样的问题,照着谷歌修改了版本,还是不行,请问你解决这个问题了吗?

4个月前
Andy_xiaojun

@tiroGuang 解决了,我记得是重新安装的,还有应该在原来的配置文件上修改,不要在复制的配置的文件修改,感觉复制的没有啥效果。

4个月前

file
启动的时候报这个错呢。。不知道有没有人遇到过~

2个月前
Promisehp

file
问个问题,为什么总是会有这几个开启不了 :joy:
@JustCoder

1个月前

@Promisehp 3306 80端口被占用了吗。。。还不行就看看docker的日志

1个月前
Promisehp

@JustCoder

file
端口没有被占用。
拿不到 nginxmysqlCONTAINER_ID ,怎样看日志呢?laradock\log\nginx 下也没有日志文件。 :flushed:

1个月前

@Promisehp

file
不过你这边没启动 不知道会不会有log :sweat_smile:

1个月前
Promisehp

@JustCoder 电脑原因, 我用的 Docker Toolbox,难道受这个影响!?

1个月前
Rick946

运行docker-compose up -d nginx mysql时报错,如下:

file

请各位大神帮忙

4周前

@Rick946 我觉得是网络的原因比较多,你配置阿里云/docker-cn的加速了吗?

2周前

file

求助!

1周前

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!