Nginx - Executa arquivos php em diferentes contêiner docker

2

Estou usando uma imagem docker automatizada para php-fpm e nginx ( link e < um href="https://hub.docker.com/r/tobi312/rpi-nginx/"> link ) em execução em um pi de framboesa com libreelec no topo.

O contêiner do php inicia com a porta 9000 aberta, executando o seguinte comando:

docker run --name php -v /var/www/restTools:/var/www/html -d 3dd6ff8c0d58

Depois disso eu iniciei o container nginx assim:

docker run --name nginx -d -p 8081:80 --link php:9000 -v /var/www/restTools:/var/www/html 0d90cc6eb00f

Ambos os contêineres estão rodando, mas o nginx não está executando arquivos php, apenas os está oferecendo para download.

Depois de um tempo eu tentei enviar os detalhes da conexão para o container php através de um default.conf adicionando -v /var/www/.config/nginx:/etc/nginx/conf.d:ro ao comando.

Trecho de default.conf :

root /var/www/html;

location / {
    root /var/www/html;
    index index.html index.htm index.php;
}

location ~ \.php$ {
    root /var/www/html;
    fastcgi_pass php:9000;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_index index.php;
    fastcgi_param REMOTE_ADDR $http_x_real_ip;
    fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
    include fastcgi_params;
    if (!-f $document_root$fastcgi_script_name) {
        return 404;
    }
}

O que estou perdendo?

    
por ManuKILLED 27.02.2018 / 10:53

1 resposta

1

Você está tentando usar a opção "link" (obsoleta !!) do docker, isso não é um problema em si, mas você deve respeitar a sintaxe

--link <name or id>:alias

então, você tem que substituir o seu

--link php:9000

com o correto

--link php

você não precisa de um alias porque nomeou o container fpm da mesma forma que você o referiu no default.conf. A outra coisa importante é montar a pasta de arquivos php no contêiner fpm, mas você já fez isso direito.

    
por 07.10.2018 / 00:12