【发布时间】:2021-07-07 05:49:58
【问题描述】:
我在 Windows 10 中遇到以下问题(在 Ubuntu 中可以正常工作):
我正在使用 Sail 在 Laravel 8 中工作
当我在.env 上创建APP_PORT 变量时...
APP_NAME=Laravel
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost
APP_PORT=3000
...并使用sail up 启动网络我收到此错误:
services.laravel.test.ports contains an invalid type, it should be a number, or an object
这就是docker-compose.yml 的样子
version: '3'
services:
laravel.test:
build:
context: ./docker/8.0
dockerfile: Dockerfile
args:
WWWGROUP: '${WWWGROUP}'
image: sail-8.0/app
ports:
- '${APP_PORT:-80}:80'
...
我知道我可以只输入ports: - '3000:80',但由于我在团队中工作并且php artisan sail:install 命令将覆盖docker-compose.yml 文件,我不想更改docker-compose.yml 文件。
提前致谢。
【问题讨论】:
-
${APP_PORT:-80}:80这里${APP_PORT:-80}这是容器端口,它将是 8000,因为php artisan serve在该端口上运行,80是你的本地机器端口我想你想改变你的本地机器端口? -
感谢您的评论。实际上,我的 Laravel Sail 在端口 80 上提供服务,我知道默认情况下工匠服务是 8000,但 80 端口是“起航”给我的端口。我想更改我的主机端口(在左侧)我不在乎容器端口
-
使用
- '${APP_PORT:-80}:${APP_CLIENT_PORT}'并在.env中创建一个新的就像APP_CLIENT_PORT=3000一样 -
client 表示将消耗你的端口
docker(HOST)你的机器是客户端 -
嗨,我有相同的配置并且没有更改 docker.yml 文件,只是将 APP_PORT 添加到 .env 并运行sails up 命令,现在我看到应用程序在 localhost:8000 上运行时访问通过浏览器。
标签: php laravel docker laravel-8 laravel-sail