Laravel Sail — Нет ответа в браузере

#php #laravel #docker #laravel-sail

Вопрос:

При запуске

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

В терминале я ожидаю увидеть заставку laravel по умолчанию http://localhost:3001 . Но вместо этого я вижу сообщение об ошибке This page isn’t workinglocalhost didn’t send any data. ERR_EMPTY_RESPONSE .

Я запускаю laravel 8 с sail в Windows 10, используя WSL(ubuntu).

Я вижу, что контейнеры БД и приложений работают нормально с рабочего стола docker(оба зеленые).

Кто-нибудь знает, как это исправить?

докер-compose.yml

 # For more information: https://laravel.com/docs/sail
version: '3'
services:
    laravel.test:
        build:
            context: ./vendor/laravel/sail/runtimes/8.0
            dockerfile: Dockerfile
            args:
                WWWGROUP: '${WWWGROUP}'
        image: sail-8.0/app
        ports:
            - '${APP_PORT:-80}:8000'
        environment:
            WWWUSER: '${WWWUSER}'
            LARAVEL_SAIL: 1
            XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}'
            XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}'
        volumes:
            - '.:/var/www/html'
        networks:
            - sail
        depends_on:
            - mariadb
    mariadb:
        image: 'mariadb:10'
        ports:
            - '${FORWARD_DB_PORT:-3306}:3306'
        environment:
            MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
            MYSQL_DATABASE: '${DB_DATABASE}'
            MYSQL_USER: '${DB_USERNAME}'
            MYSQL_PASSWORD: '${DB_PASSWORD}'
            MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
        volumes:
            - 'sailmariadb:/var/lib/mysql'
        networks:
            - sail
        healthcheck:
          test: ["CMD", "mysqladmin", "ping", "-p${DB_PASSWORD}"]
          retries: 3
          timeout: 5s
networks:
    sail:
        driver: bridge
volumes:
    sailmariadb:
        driver: local

 

Комментарии:

1. Вы пробовали localhost:8000?

2. @tirtakeniten да. Та же ошибка

3. Вы уверены, что APP_PORT переведен? Может быть, попробовать «3001», жестко закодированный в файле docker-compose?

Ответ №1:

Как сказал @BertC, я изменил строку портов в docker-compose.yml на «9192:80» и запустил sail up снова, и это сработало. Спасибо @BertC