Laravel、Sail Shell 和 Sail Artisan 命令停止工作。

8

sail shellsail artisan命令已经停止工作。

但是sail upsail down仍然可以使用。

版本细节

php: 8.0.5
laravel: 8.41.0
sail: 1.5.1
docker: 3.3.3
os: macOS 11.3.1

我的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}:80'
        environment:
            WWWUSER: '${WWWUSER}'
            LARAVEL_SAIL: 1
        volumes:
            - '.:/var/www/html'
        networks:
            - sail
        depends_on:
            - mysql
    mysql:
        image: 'mysql:8.0'
        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:
            - 'sailmysql:/var/lib/mysql'
        networks:
            - sail
        healthcheck:
          test: ["CMD", "mysqladmin", "ping", "-p${DB_PASSWORD}"]
    meilisearch:
        image: 'getmeili/meilisearch:latest'
        ports:
            - '${FORWARD_MEILISEARCH_PORT:-7700}:7700'
        volumes:
            - 'sailmeilisearch:/data.ms'
        networks:
            - sail
    mailhog:
        image: 'mailhog/mailhog:latest'
        ports:
            - '${FORWARD_MAILHOG_PORT:-1025}:1025'
            - '${FORWARD_MAILHOG_DASHBOARD_PORT:-8025}:8025'
        networks:
            - sail
    myadmin:
        image: 'phpmyadmin:latest'
        ports:
            - '${PHP_MYADMIN_PORT:-8080}:80'
        environment:
            MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
        links:
            - "mysql:db"
        depends_on:
            - mysql
        networks:
            - sail
networks:
    sail:
        driver: bridge
volumes:
    sailmysql:
        driver: local
    sailmeilisearch:
        driver: local

我的环境文件

APP_PORT=81
FORWARD_DB_PORT=3305
PHP_MYADMIN_PORT=8081
FORWARD_MEILISEARCH_PORT=7701
FORWARD_MAILHOG_PORT=1026
FORWARD_MAILHOG_DASHBOARD_PORT=8026
WWWGROUP=1000
WWWUSER=1000

正如我们所看到的,sail命令在镜像中无法工作,它返回空值。

在此输入图片描述

谢谢。


你有没有解决这个问题的方案? - varuog
很遗憾,尝试重新安装Docker和Laravel,并希望这一次不会出现任何问题。 - parth
最终我删除了所有的图像和卷,然后重新构建。 - varuog
最终我删除了所有的图像和卷,然后重新构建。 - varuog
1个回答

20

我认为问题在于服务的名称。在docker-compose.yml和.env文件中,名称必须匹配。

1/ 停止Sail > Sail down

2/ docker-compose.yml

version: '3'

services:
    your-app.test:

在 .env 文件中添加以下内容:

APP_SERVICE="your-app.test"

4/ 开船启程


1
谢谢,这肯定有效!我真是太蠢了! - Jigesh Raval

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接