Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel docker中的PHP Artisan非常慢_Laravel_Docker_Docker Compose - Fatal编程技术网

Laravel docker中的PHP Artisan非常慢

Laravel docker中的PHP Artisan非常慢,laravel,docker,docker-compose,Laravel,Docker,Docker Compose,我是Docker的新手,但我想使用它,以便更轻松地组织我的生产环境。我需要一个具有NGINX、php7.2和Node(以及其他一些)的环境;经过一些挖掘,我使用docker compose: version: '0.2' restart: always services: web: image: nginx:latest container_name: NGINX ports: - "80:80" v

我是Docker的新手,但我想使用它,以便更轻松地组织我的生产环境。我需要一个具有NGINX、php7.2和Node(以及其他一些)的环境;经过一些挖掘,我使用docker compose:

version: '0.2'
restart: always
services:
    web:
        image: nginx:latest
        container_name: NGINX
        ports:
            - "80:80"
        volumes:
            - ./code:/code
            - ./nginx/conf.d/site.conf:/etc/nginx/conf.d/site.conf
            - ./nginx/sites-enabled:/etc/nginx/sites-enabled
        links:
            - php
    php:
        build: ./php
        container_name: PHP7.2
        volumes:
            - ./code:/code
    composer:
        image: composer:latest
        container_name: Composer
        volumes:
            - ./code:/code
    node:
        build: ./node
        container_name: Node
        volumes:
            - ./code:/code
当我运行
sudocker compose up
时,一切都正常,但是因为我使用的是Laravel(5.5)应用程序,所以我有一些artisan命令。有些命令扫描所有应用程序文件以填充数据库,与我的本地环境(Vagrant)相比,此过程非常慢(+10倍)

我已经研究过,显然卷有一些性能问题;我尝试了docker同步,但没有改变。我真的很想让这一切顺利,但我不知道发生了什么。

我相信这会对你有所帮助


我只是在映射卷中添加了标志
:cached
,虽然速度提高了很多,但还不是更好的解决方案。

如果您修改了问题,添加运行Docker的主机操作系统,这会有所帮助。此外,“慢”是一个相对的术语。最好显示一些基准测试(可能只是使用unix
time
命令),它们显示在Vagrant下运行的命令,然后在Docker下运行以进行比较。如果您正在与Vagrant进行比较,那么了解Vagrant配置(Vagrant文件和您运行的任何其他特定于Vagrant的命令)也会很有帮助。但一般来说,Mac上Docker和Windows上Docker的卷性能与Linux本机相比非常糟糕。我有一个类似的设置,我们将所有composer安装、更新和需要的命令包装到一个php容器中(目标是通过Docker容器统一开发人员环境)举例来说,mac和ubuntu之间的速度差别很大……实际上,标志是:缓存,正如你所说的,改进是最小的