当前位置: 首页 > 后端技术 > PHP

LaradockInstructions----不是很详细

时间:2023-03-30 03:49:49 PHP

前言我的同事告诉我他的windows电脑无法安装homestead。已经有过在windows下折腾vagrant+virtualbox+homestead的惨痛经历,然后不小心打开百度搜索了一下Laraveldocker,嗯,是的,找到了Laradock。去做吧,怕什么!我的惨痛经历Vagrant+Virtualbox+Homestead是大部分人Laravel项目开发的标配,或者说是Web开发本地环境的标配(还在用XAMPP、Phpstudy等开发环境的人,请认真观看:-D)。但是如果是在linux下使用,问题不大,体验还是很完美的,搞定文件挂载,搞定公网私网IP,忍受漫长的启动过程。但是在Windows下,真的不会太难受。大概忘记有多难受了,但还是依稀记得怎么安装都安装不上,怎么启动都会报错。一定有一些。或者需要安装其他软件,比如ElasticSearch也需要手动安装。我也相信有些人会因为这些事情而放弃。话不多说,让我们来看看Laradock的使用方法。为什么要使用它?这个问题问得好。首先,你不觉得现在不懂Docker就跟农村来的一样吗?其次百度一下什么是Docker,Docker有什么优势。简而言之,如果你不用Laradock,你就是在给自己找麻烦。laradock基本情况Github地址:laradock/laradock文档地址:Laradock安装自行解决Docker安装,这里有一个文档:InstallLinux:gitclonehttps://github.com/Laradock/laradock.gitcdlaradockcpenv-example.envdocker-composeup-dnginxmysqlphpmyadminredisworkspace先停在这里Windows:类似Linux注意:Windows用户可能会遇到startup.sh文件执行失败,导致nginx容器无法启动的问题。别怕,我已经遇到了。GithubIssue的解决方法如下:vimnginx/Dockerfile#注释掉下面两行ADD./startup.sh/opt/startup.shCMD["/bin/bash","/opt/startup.sh"]#改为CMD["nginx"]#暂时关闭`NginxSSl`功能。官网介绍了三种使用方式。我们只考虑最后一个。多个项目共享一个Laradock。但是,我会把整个安装过程中遇到的所有问题都说明一下。让我给你解释一下。假设:我们有一台电脑,刚刚安装了系统、Docker、Git。Createaproject为什么要把创建项目放在第一位,因为这样可以避免研究的时候没有项目可用。cdlaradockdocker-composeexec--user=laradockworkspacebash(为什么要加--user=laradock,因为权限问题)composercreate-project--prefer-distlaravel/laravelblog文档:安装Laravel,推荐使用composer安装注意事项:composerconfig-grepo.packagistcomposerhttps://packagist.phpcomposer.comComposer中国有更多镜像内容,看下面的shell#此时在工作空间中cdblogvimbash.env#修改Mysql&&Redis链接DB_HOST=mysqlREDIS_HOST=redis#修改数据库和用户名:因为我们看laradock/.env文件就知道默认是这样的:MYSQL_VERSION=latestMYSQL_DATABASE=defaultMYSQL_USER=defaultMYSQL_PASSWORD=secretMYSQL_PORT=3306#至于如何修改为Homestead:Homestead,或者,改成没有效果(我不告诉你,我改了N多次都没有用)等等,下面单独讨论运行项目Nginx配置#重新打开一个terminal,或者退出工作区bashcdnginx/sites/cplaravel.conf.examplexxx.confvimblog.conf#修改服务器名称&&root&&日志路径:你应该可以处理server_nameblog.com;root/var/www/blog/public;...error_log/var/log/nginx/blog_error.log;access_log/var/log/nginx/blog_access.log;#注意root只修改/var/www/blog/public让你的Nginx容器加载你的配置#停靠在拉拉多克目录er-composeexecnginxnginx-tdocker-composeexecnginxnginx-sreloadBindHostsudovimetc/hosts#ADD127.0.0.1blog.com打开浏览器,访问blog.com测试数据库链接,输入docker-composeexec--user=laradockworkspacebashcdblogphpartisanmake:authphpartisanmigrateerror,GitHubIssue,解决方法如下:GitHubIssueecdlaradock#打开mysql/my.cnfvimmysql/my.cnf#添加如下内容:#default_authentication_plugin=mysql_native_password#执行以下命令docker-composedown#删除laradock/.env文件中`DATA_PATH_HOST`变量指定目录下的文件(不删除,不管怎么build)sudorm-rf~/.laradock/datadocker-composeup-dnginxmysqlphpmyadminredisworkspacedocker-composeexec--user=laradockworkspacebashcdxxxxphpartisanmigrateTestRedislinkLaravelRediscomposerrequirepredis/predis在家庭控制器中添加Redis设置方法#useIlluminate\Support\Facades\Redis;publicfunctionindex(){Redis::set('test','test');returnview('home');}完成注册,查看Redis记录OK,至此,我们就完成了项目的运行LaradockMysql的一些事如何修改默认用户名,默认数据库cdlaradockvim.env#修改`MYSQL_DATABASE`&&`MYSQL_USER`如图1#删除`DATA_PATH_HOST`指定目录下的文件docker-composelaradock/.env文件中的变量downsudorm-rf~/.laradock/datadocker-composeup-dnginxmysqlphpmyadminredisworkspace如何创建数据库#手动(通常这样)cdlaradock/mysql/docker-entrypoint-initdb.dcpcreatedb.sql.examplecreatedb.sqlvimcreatedb.sql#DeletecommentsCREATEDATABASEIFNOTEXISTS`blog`COLLATE'utf8_general_ci';GRANTALLON`blog`.*TO'homestead'@'%';FLUSHPRIVILEGES;cdlaradockdocker-composeexecmysqlbashmysql-uroot-p