[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
felipe.dev
Criador felipe.dev 11/11/2024

Já tentei resolver de algumas formas e não consegui.
O erro é este:
Fatal error: require(): Failed opening required '/var/www/vendor/autoload.php' (include_path='.:/usr/local/lib/php') in /var/www/artisan on line 18

no container do queue.

docker-compose.yml:

version: "3.7"
services:
    # imagem micro 02
    micro_02:
        build:
            args:
                user: felipe
                uid: 1000
            context: ./
            dockerfile: Dockerfile
        image: laravel-app
        restart: unless-stopped
        working_dir: /var/www/
        volumes:
            - ./:/var/www
        networks:
            - microservices02
   
    # nginx
    nginx:
        image: nginx:alpine
        restart: unless-stopped
        ports:
            - 8080:80
        volumes:
            - ./:/var/www
            - ./docker/nginx/:/etc/nginx/conf.d/
        networks:
            - microservices02

    # imagem micro 02
    queue:
        build:
            args:
                user: felipe
                uid: 1000
            context: ./
            dockerfile: Dockerfile
        command: 'php artisan queue:work'
        restart: unless-stopped
        volumes:
            - ./:/var/www
        depends_on:
            - redis
        networks:
            - microservices02

    # mysql micro 01
    db_micro_02:
        image: mysql:5.7.22
        restart: unless-stopped
        environment:
            MYSQL_DATABASE: ${DB_DATABASE}
            MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
            MYSQL_PASSWORD: ${DB_PASSWORD}
            MYSQL_USER: ${DB_USERNAME}
        volumes:
            - ./.docker/mysql/dbdata:/var/lib/mysql
        ports:
            - 3309:3306
        networks:
            - microservices02

    # redis
    redis:
        image: redis:latest
        ports:
            - 6379:6379
        networks:
            - microservices02

networks:
    microservices02:
        driver: bridge
Manager Carlos Ferreira 11/11/2024

Compartilha comigo o seu projeto, pelo GitHub

Carlos Ferreira
Criador felipe.dev 11/11/2024

O erro dá ao tentar criar as imagens com docker-compose up. Todas dão certo menos a da queue.
https://github.com/felipe-rodolfo/microservices-02

felipe.dev
Manager Carlos Ferreira 11/11/2024

Qual o seu sistema operacional?

Carlos Ferreira
Criador felipe.dev 11/11/2024

Estou rodando o projeto no WSL

felipe.dev
Manager Carlos Ferreira 11/11/2024

Desculpa a demora em te responder.

 

Seguinte, quando roda o comando dentro do seu container app, funciona?

docker compose exec app bash

php artisan queue:work

Carlos Ferreira
Criador felipe.dev 11/11/2024

Dá o mesmo erro: Fatal error: require(): Failed opening required '/var/www/vendor/autoload.php' (include_path='.:/usr/local/lib/php') in /var/www/artisan on line 18.

Eu rodei docker compose exec micro_02 bash.

Imagens de do erro e como está:

https://imgur.com/WnPUyyj

https://imgur.com/S4ymLbq

felipe.dev
Manager Carlos Ferreira 11/11/2024

Certo é permissão dos arquivos, lista pra mim as permissões, dentro e fora do container (app):

ls -la

 

Depois muda as permissões, fora do container, pro seu usuário:

chown -R seuusuario:seuusuario .

Carlos Ferreira
Criador felipe.dev 11/11/2024

Aqui está os prints com as permissões

https://imgur.com/a/QU57LJW

Eu entrei no container micro_02 e rodei o composer install.
Restartei todos os containers e agora está dando outro erro:

24  artisan:37

2024-11-18 19:32:09       Illuminate\Foundation\Console\Kernel::handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))

2024-11-18 19:32:35 

2024-11-18 19:32:35    PhpAmqpLib\Exception\AMQPIOException 

2024-11-18 19:32:35 

2024-11-18 19:32:35   stream_socket_client(): unable to connect to tcp://: (Failed to parse address ":")

2024-11-18 19:32:35 

2024-11-18 19:32:35   at vendor/php-amqplib/php-amqplib/PhpAmqpLib/Wire/IO/StreamIO.php:111

2024-11-18 19:32:35     107▕                 $this->context

2024-11-18 19:32:35     108▕             );

2024-11-18 19:32:35     109▕             $this->cleanup_error_handler();

2024-11-18 19:32:35     110▕         } catch (\ErrorException $e) {

2024-11-18 19:32:35   ➜ 111▕             throw new AMQPIOException($e->getMessage());

2024-11-18 19:32:35     112▕         }

2024-11-18 19:32:35     113▕ 

2024-11-18 19:32:35     114▕         if (false === $this->sock) {

2024-11-18 19:32:35     115▕             throw new AMQPIOException(

2024-11-18 19:32:35 

 

2024-11-18 19:32:35       +23 vendor frames

 

felipe.dev
Manager Carlos Ferreira 11/11/2024

ah sim, as permissões estão ok

Você instalou as dependências do php (dentro do container)?

composer install

Carlos Ferreira
Criador felipe.dev 11/11/2024

Já tinha rodado o composer install.

Eu exclui o projeto e os containers.

Clonei de novo o projeto, configurei o .env e caiu no mesmo erro.

Poderia clonar o projeto e ver se dá certo?
https://github.com/especializati/laravel-microservice-02

felipe.dev
Manager Carlos Ferreira 11/11/2024

No microservice 01 nós configuramos o RabbitMQ, vc colocou certinho os dados do seu?

RABBITMQ_QUEUE=queue_micro_02

RABBITMQ_HOST=

RABBITMQ_PORT=

RABBITMQ_USER=

RABBITMQ_PASSWORD=

RABBITMQ_VHOST=

RABBITMQ_WORKER=default

Carlos Ferreira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!