Laravel Sail em Produção ( Customizado/Alterado )
[Finalizado Pelo Aluno]
Olá Carlos,
Sobre usar o Laravel Sail ( com Octane e swoole ) em produção, dando uma "customizada" nele para isso.
Por exemplo, em produção não teria os containers do mysql, redis, meilisearch, mailpit, porque eu
estaria usando esses elementos em serviços externos, tipo mysql e redis em outras máquinas, e algum serviço
de envio de e-mail.
Com isso, poderia deixar meu docker-compose.yml bem menor, ou criar um para produção, por ex:
docker-compose-production.yml
==================docker-compose-production.yml===============================================================
version: '3'
services:
laravel.test:
build:
context: ./docker/8.2
dockerfile: Dockerfile
args:
WWWGROUP: '${WWWGROUP}'
image: sail-8.2/app
extra_hosts:
- 'host.docker.internal:host-gateway'
ports:
- '${APP_PORT:-80}:80'
- '${VITE_PORT:-5173}:${VITE_PORT:-5173}'
environment:
WWWUSER: '${WWWUSER}'
LARAVEL_SAIL: 1
XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-off}'
XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}'
IGNITION_LOCAL_SITES_PATH: '${PWD}'
volumes:
- '.:/var/www/html'
networks:
- sail
networks: ( networks e volumes, não são necessários, neste exemplo onde removi os outros containers, correto? )
sail:
driver: bridge
volumes:
sail-mysql:
driver: local
sail-redis:
driver: local
sail-meilisearch:
driver: local
==================docker-compose-production.yml===============================================================
E sobre o Dockerfile, como você comenta no Mod02-Aul06, que existe a possibilidade de montar um ambiente de forma
bem mais leve ( já que ele usa a imagem do ubuntu:22.04 )...
Você tem algum modelo de configuração do docker-compose.yml e Dockerfile do Sail para produção?
Olá, Eric!
Tudo bem?
A vantagem de usar o Sail é que ele é seguro e testado, a desvantagem é que é pesado, bem pesado os containers do Sail.
Você quer usar o Octane, certo?
Tenho esse aqui mais otimizado, veja se te atende: https://github.com/especializati/setup-docker-laravel/tree/production
E no caso, esse "peso" vai influenciar em algo no desempenho da aplicação?
Quero dizer, o ruim é porque ele vai ocupar um bom espaço na máquina, mas isso não vai alterar em nada o desempenho da aplicação ( carregamento, tempo de resposta e etc ), correto?
Peso que me refiro é dos containers mesmo, a aplicação em sí não muda, nem mesmo o desempenho.
--
Você está certíssimo em sua linha de raciocínio.
Obrigado Carlos!
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!