Tentei escalar os serviços realizando os seguintes procedimentos:
1 - Criei um arquivo chamado "academico-php-web2.php" e mudei apenas a linha "php -S web-academico:8181 -t public" para levantar a aplicação na porta 8181.
#!/usr/bin/env bash
if [ ! -d vendor ]; then
composer install
fi
php artisan migrate
php artisan db:seed --force
php -S web-academico:8181 -t public
2 - No docker-compose.yml, copiei a parte referente ao web-academico e colei abaixo da seguinte forma:
web-academico2:
build: ./academico-php-web
environment:
JWT_KEY: chave-jwt
DB_CONNECTION: pgsql
DB_HOST: postgre-academico
DB_DATABASE: academico
DB_USERNAME: usuario_academico
DB_PASSWORD: senhapg
APP_KEY: c08cbbfd6eefc83ac6d23c4c791277e4
APP_URL: http://web-academico:8181
APP_ENV: local
APP_DEBUG: "true"
volumes:
- ./academico-php-web/:/app
- type: bind
source: ./academico-php-web2.sh
target: /app/entrypoint.sh
working_dir: /app
command: sh ./entrypoint.sh
ports:
- 8181:8181
depends_on:
- postgre-academico
3 - Inclui no meu apo-gateway.conf um upstream e coloquei o server location /academico/ apontando para meu upstream:
upstream lb-academico {
server http://web-academico:8080/;
server http://web-academico:8181/;
}
server {
listen 80;
location /financeiro/ {
proxy_pass http://web-financeiro:9501/;
}
location /mkt/ {
proxy_pass http://web-mkt:3000/;
}
location /academico/ {
proxy_pass http://lb-academico;
}
}
Após efetuar estes procedimentos o console emite tantos logs do api-gateway_1 que não consegui pegar tudo, mas fica emitindo esta mensagem:
web-academico2_1 | Nothing to migrate.
web-academico_1 | Nothing to migrate.
web-academico2_1 | Seeding: Database\Seeders\CourseSeeder
web-academico_1 | Seeding: Database\Seeders\CourseSeeder
web-academico2_1 | Seeded: Database\Seeders\CourseSeeder (320.12ms)
web-academico2_1 | Database seeding completed successfully.
web-academico_1 | Seeded: Database\Seeders\CourseSeeder (297.91ms)
web-academico_1 | Database seeding completed successfully.
web-academico2_1 | [Thu Aug 4 01:56:11 2022] Failed to listen on web-academico:8181 (reason: Cannot assign requested address)
web-academico_1 | [Thu Aug 4 01:56:12 2022] PHP 8.0.21 Development Server (http://web-academico:8080) started
alura-ms_web-academico2_1 exited with code 1
alura-ms_api-gateway_1 exited with code 1
consumer-academico_1 | Retrying
alura-ms_api-gateway_1 exited with code 1
consumer-academico_1 | Retrying
Tive q desfazer as alterações para continuar utilizando as aplicações, mas não sei o que fiz de errado... Sei que vou precisar me aprofundar mais em docker, mas teoricamente não podia simplesmente copiar a linha de cima e copiar abaixo sem no mínimo alterar as portas, pois não faria sentido ter uma outra instância da mesma aplicação rodando na mesma porta (nem iria iniciar)...