Mac OS系统下使用Laravel Sail配置Docker容器后无法运行虚拟主机
你已经正确配置了/etc/hosts将admin.website-dev.com指向127.0.0.1,接下来按以下步骤操作即可实现需求:
方案一:无需修改容器配置,直接访问
直接在浏览器打开http://admin.website-dev.com:8081即可正常访问应用。当前容器80端口映射到宿主机8081端口,HTTP协议默认不带端口访问会走80端口,因此需要显式携带端口访问。方案二:无需携带端口访问配置
如果希望直接输入http://admin.website-dev.com即可访问,修改docker-compose.yml中laravel.test服务的ports配置:
ports: # 原配置为 - '8081:80' - '80:80'
修改完成后重启Sail服务生效:
./vendor/bin/sail down && ./vendor/bin/sail up -d
注意:MacOS占用80端口需要管理员权限,启动时如果提示端口被占用,先排查本地是否有其他服务占用80端口(如自带Apache、Nginx等)
- 适配Laravel应用配置
修改项目根目录下.env文件的APP_URL参数,和你的访问域名保持一致:
# 如果你用带端口的访问就配置为 APP_URL=http://admin.website-dev.com:8081 # 如果你修改了端口映射为80端口就配置为 APP_URL=http://admin.website-dev.com
如果你的应用区分前后台域名,需要在routes/web.php中配置域名路由组,示例如下:
// 后台域名路由 Route::domain('admin.website-dev.com')->group(function () { // 所有后台路由写在这里 Route::get('/', [AdminController::class, 'index']); }); // 前台普通路由 Route::get('/', [HomeController::class, 'index']);
内容的提问来源于stack exchange,提问作者Vivek Tankaria
相关产品推荐
相关产品推荐

