Laradock 入门配置
介绍
最近由于换到了macos,所以想试试久仰大名的docker,了解了一下基本的docker知识后,在LC社区里找到了laradock这个轮子,试了下,文档详细,操作简单,很适合给新手搭建php的docker环境。下面就记录下配置步骤。
开始
没有一个PHP项目
-
将repository克隆到你机器的任意位置:
git clone https://github.com/laradock/laradock.git
文件夹结构如下
+laradock
+project-z -
进入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。
然后进入workspace的bash,可以看到/var/www目录就是test映射来的。再去找nginx配置文件,在laradock/nginx/sites里可以看到有几个样本文件,一个default.conf文件,default文件的root默认是/var/www/public。所以,可以看出想配置多个项目的话,修改nginx配置文件及对应的文件结构即可。
+laradock
+test
++laravel
++phptest
这是我的目录结构,配置好后记得把本机hosts修改下。然后重启docker即可。
然后就可以访问了,
第一次在LC发表文章 md用的很难,文词也不行,请见谅。。
今天发现有个地方需要注意一下,连接mysql的时候,在navicat里用127.0.0.1可以连上,但在laravel的env里DB_HOST里用127.0.0.1不行,用原生pdo连接也不行。然后查了下,发现,在laradock里,要
。
DB_HOST填写mysql即可。
本作品采用《CC 协议》,转载必须注明作者和本文链接
@二师兄 目前我遇到了一点坑,在env里将mysql的版本从latest切换到5.7.然后重新build 启动,mysql会无法启动,ps查看进程显示 exit 2.恢复到latest的8.0版本就好了。
可能是因为你已经编译过
mysql
,删除已经编译的mysql
挂载文件再启动试试看,挂载的mysql
文件在~/.laradock/data/mysql
。我也遇到了你说的切换mysql版本的问题,vim .env 然后/DATA_PATH_HOST 搜索,检查 DATA_PATH_HOST 变量 的路径是否正确,修改后 重新build
@susucool 非常感谢,果然是因为挂载文件的原因 :blush:
@两说 我参考楼上老哥 删除挂载文件的方法 完美解决了
portainer 可方便的让你管理你的容器 非常方便 启动的时候多加一个 portainer 就行 9010 端口
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:
:kissing_heart:
@Andy_xiaojun 我遇到了跟你一样的问题,照着谷歌修改了版本,还是不行,请问你解决这个问题了吗?
@tiroGuang 解决了,我记得是重新安装的,还有应该在原来的配置文件上修改,不要在复制的配置的文件修改,感觉复制的没有啥效果。
启动的时候报这个错呢。。不知道有没有人遇到过~
问个问题,为什么总是会有这几个开启不了 :joy:
@JustCoder
@Promisehp 3306 80端口被占用了吗。。。还不行就看看docker的日志
@JustCoder
端口没有被占用。
拿不到
nginx
和mysql
的CONTAINER_ID
,怎样看日志呢?laradock\log\nginx 下也没有日志文件。 :flushed:@Promisehp
不过你这边没启动 不知道会不会有log :sweat_smile:
@JustCoder 电脑原因, 我用的
Docker Toolbox
,难道受这个影响!?运行docker-compose up -d nginx mysql时报错,如下:
请各位大神帮忙
@Rick946 我觉得是网络的原因比较多,你配置阿里云/docker-cn的加速了吗?
求助!
我能问一个问题吗? 这个东西如何打包 在另一个服务器部署
@Senkorl laradock里好像没有下载phpredis扩展,下载的好像只是redis服务端,在laravel里可以选择使用laravel里的predis扩展或者自己另外下载的predis扩展。在配置文件里指定就好了。不妨碍的
请问卡在workspace构建处 https://user-images.githubusercontent.com/... 有没办法解决 已切换国内镜像
@cshaptx4869 换个网络试试,我之前也卡在这里,后来换成手机热点就成功了
不应该还是这个吗 ?: APP_CODE_PATH_HOST ; 你上面文章里面是这样 : APPLICATION=../project-z/
laradock安装镜像需要外网,这个还是得说下
project-z 是指单个项目吗?如果是多项目的呢?
laradock 开启nginx镜像是报错
#host not found in upstream "confluence-domain.com" in /etc/nginx/sites-available/confluence.conf.example:28 求助!
修改本地host不生效

@zgnMark 你这个不生效的问题解决了吗
我的laradock响应请求很慢,要好几秒。opcache已经开启了还是这样。
修改站点配置 nginx.conf 重启为啥没生效了
启动报错