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即可。

本作品采用《CC 协议》,转载必须注明作者和本文链接
本帖由系统于 5年前 自动加精
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 41
susucool

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

5年前 评论

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

5年前 评论

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:

5年前 评论
hankin

laradock 开启nginx镜像是报错

#host not found in upstream "confluence-domain.com" in /etc/nginx/sites-available/confluence.conf.example:28 求助!

3年前 评论

我能问一个问题吗? 这个东西如何打包 在另一个服务器部署

4年前 评论

楼主你好,请问laradock可以部署thinkPHP框架项目吗?

4年前 评论

@Senkorl laradock里好像没有下载phpredis扩展,下载的好像只是redis服务端,在laravel里可以选择使用laravel里的predis扩展或者自己另外下载的predis扩展。在配置文件里指定就好了。不妨碍的

4年前 评论

请问卡在workspace构建处 https://user-images.githubusercontent.com/... 有没办法解决 已切换国内镜像

4年前 评论

@cshaptx4869 换个网络试试,我之前也卡在这里,后来换成手机热点就成功了

4年前 评论

不应该还是这个吗 ?: APP_CODE_PATH_HOST ; 你上面文章里面是这样 : APPLICATION=../project-z/

4年前 评论
白小二

laradock安装镜像需要外网,这个还是得说下

4年前 评论
UKNOW

project-z 是指单个项目吗?如果是多项目的呢?

4年前 评论
Devin_Booker

file

3年前 评论
Rick946

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

file

请各位大神帮忙

5年前 评论
代码的坏味道 4年前
vilson 4年前
lochpure 3年前

修改本地host不生效

3年前 评论

@zgnMark 你这个不生效的问题解决了吗

3年前 评论

我的laradock响应请求很慢,要好几秒。opcache已经开启了还是这样。

2年前 评论
程序猴的进化史

修改站点配置 nginx.conf 重启为啥没生效了

2年前 评论

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

5年前 评论
  • 刚好也在开始用这个轮子
5年前 评论

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

5年前 评论

@Promisehp

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

5年前 评论

@JustCoder

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

5年前 评论

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

5年前 评论

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

5年前 评论

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

5年前 评论

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

5年前 评论
Fell-boy 4年前

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

5年前 评论
ThinkQ

:kissing_heart:

5年前 评论

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

5年前 评论

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

5年前 评论

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

5年前 评论

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

5年前 评论
anniversary 4年前
蔺焕然 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
1
粉丝
3
喜欢
48
收藏
75
排名:203
访问:4.6 万
私信
所有博文
社区赞助商