Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Problema ao acessar endpoints + docker

Estou com problema ao acessar os endpoints da aplicação. Estou usando o docker com 3 containers: php, maria db e proxy. Tive que utilizar o docker para funcionar as migrations, porem agora só tenho erro de "404 not found".

Segue projeto no git: https://github.com/matheusbrandao/consultorio-alura

4 respostas
solução

Fala, Matheus.

Como o curso é de Symfony, não vou entrar muito nos detalhes de Docker e Nginx, mas já te adianto que seu problema não tá no código.

Fiz um docker-compose pra vc bem mais simples, pra vc conseguir continuar o treinamento.

Docker-compose:

version: '3.7'
services:
  db:
    container_name: aluno_db
    image: mysql:5
    networks:
      - backend
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: 1234
      MYSQL_DATABASE: consultorio_alura
      MYSQL_USER: alura
      MYSQL_PASSWORD: senhalura
  app:
    container_name: aluno_app
    build: ./php
    volumes:
      - ./:/app
    working_dir: /app
    networks:
      - backend
    command: php -S 0.0.0.0:8080 -t public
    ports:
      - 8080:8080
networks:
  backend:

No seu .env: DATABASE_URL=mysql://alura:senhalura@db:3306/consultorio_alura

E o Dockerfile do PHP:

FROM php:7.3

RUN docker-php-ext-install pdo_mysql

Só com isso, basta rodar o docker-compose up, depois docker exec -it aluno_app php bin/console doctrine:migrations:migrate. Aí é só acessar localhost:8080 e correr pro abraço.

:-D

Se restar alguma dúvida sobre Docker, tem um curso bem legal sobre o assunto aqui na Alura.

Me confirma se isso funciona aí (aqui rodou de primeira), e hoje à noite eu tento tirar um tempinho pra configurar um docker-compose com o nginx pra vc já ter pronto aí, caso não queira.

:-D

Abração

Fala Vinicius.

Deu certo :-D. Funcionou certinho as rotas e migrations.

Muito obrigado pela força. Só não consegui abrir o banco pelo DBeaver, que fico conferindo se está ok. Mas acredito que isso seja só algum detalhe.

De qualquer forma consigo fazer as manipulações pelos endpoints e vou conseguir dar continuidade no curso.

Abraçossss.

Show de bola, Matheus. Que bom que funcionou. Não esquece de marcar a resposta como solução.

Quanto a acessar pelo DBeaver, acredito que seja só questão de expor a porta do banco mesmo...

Forte abraço e bons estudos!