Consegui resolver o problema montando o volume webapp
no contêiner nginx
.
É assim que a tarefa run-nginx
se parece agora:
run-nginx:
docker run --rm \
--name=nginx \
--net=internal-net \
--volume=$(PWD)$(CONFIG)/webapp.conf:/etc/nginx/conf.d/webapp.domain.com.conf:ro \
--volume=$(PWD)$(WEBAPP)/web:/var/www/webapp/web:ro \
-p 80:80 \
nginx:1.11.0-alpine
E esse é o arquivo webapp.conf
, que tentará carregar os arquivos estáticos do contêiner e, se isso não for possível, fará o proxy da solicitação para o fpm
worker:
server {
listen 80;
server_name webapp.domain.com;
root /var/www/webapp/web;
location ~ \.(js|css|png) {
try_files $uri $uri/;
}
location / {
rewrite ^(.*)$ /index.php$1 last;
}
location ~ ^/index\.php(/|$) {
include fastcgi_params;
fastcgi_pass webapp:9000;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
}
}
No entanto, gostaria de saber se existe uma maneira melhor de fazer isso em vez de compartilhar o mesmo volume duas vezes. Muito obrigado!