Windows 10 上的 Laravel 8 和 Laravel Sail 开发速度很慢。如何加速?

Bar*_*art 5 php docker-compose laravel-8 laravel-sail

我怎样才能重新创建这个?

Laravel 8 docsLaravel Sail docs创建安装。

我使用该sail up命令,效果很好。该命令构建 docker 容器,连接它们,并使开发变得像我们想象的一样简单,尤其是对于 VSCode,这很好用,但在 WSL2 中开发很慢。我的意思是像“sail npm run dev”这样的命令。关于如何加快速度的任何想法?

仅供参考:在同一台机器上运行的同一个项目至少要快 10 倍。有关更多信息,我在适用于 Windows 10 的 Docker 桌面上的 i9-10900X、32 GB RAM 上进行了测试。

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
            - redis
    mysql:
        image: 'mysql:8.0'
        ports:
            - '${DB_PORT}: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
    redis:
        image: 'redis:alpine'
        ports:
            - '${REDIS_PORT}:6379'
        volumes:
            - 'sailredis:/data'
        networks:
            - sail
    mailhog:
        image: 'mailhog/mailhog:latest'
        ports:
            - 1025:1025
            - 8025:8025
        networks:
            - sail
networks:
    sail:
        driver: bridge
volumes:
    sailmysql:
        driver: local
    sailredis:
        driver: local
Run Code Online (Sandbox Code Playgroud)

onl*_*mas 8

如果可能,您应该从 WSL2 运行 docker。

  1. 安装码头工人WSL2
  2. \\wsl$\我而言,通过在资源管理器中打开并导航到 VM 的主页,将您的项目移至 WSL\\wsl$\Ubuntu-20.04\home\thomas

在此处输入图片说明

  1. 运行docker-compose up -d/sail up从VM

在此处输入图片说明

  • @onlineThomas感谢您的指导,我只需要“sudo chmod -R a+rwx /path/to/project”,这样我就可以在 wsl 虚拟目录上执行“sail up”命令而不会出现问题,我可以看到一个值得注意的本地网络执行的性能。 (2认同)