5

我在 Windows 10 中遇到以下问题(在 Ubuntu 中可以正常工作):

当我在...上创建APP_PORT变量时,我正在使用 Sail 在 Laravel 8 中工作.env

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文件。

提前致谢。

4

3 回答 3

7

扬帆起航

sudo APP_PORT=3001 ./vendor/bin/sail up

那是我做的唯一方法就是工作。仍然不知道为什么其他配置不允许在 .env 中使用

于 2021-05-29T09:44:19.453 回答
1

Windows 10 上 Laravel Sail (Docker) 的解决方案是将.envEOL 从 CRLF 更改为 LF。我发现它是因为我试图从另一个问题中解决这个警告:

./.env: line X: $'\r': command not found
/usr/bin/env: bash: No such file or directory

在我解决了 EOL 冲突后,该sail up命令能够读取所有环境变量。我还在以下文件中将 EOL 更改为 LR:

.env
artisan
docker/7.4/start-container
docker/8.0/start-container
vendor/laravel/sail/runtimes/8.0/start-container
vendor/laravel/sail/runtimes/7.4/start-container

很清楚为什么这个问题在 Ubuntu 上不存在。

于 2021-06-12T17:14:58.283 回答
1

无需更改 docker-compose.yml 文件,只需在 .env 文件中添加一行即可:

  1. 在您的 .env 文件上添加一行

    APP_PORT=3001 //or instead of 3001 any other port number of your choice

  2. 重启帆

    sail up

  3. 现在您应该能够使用您在步骤 1 中设置的端口号访问您的应用程序

    http://localhost:3001

于 2021-11-23T23:54:32.470 回答