Compartilhando soquete unix via volume do docker-permissão negada

Eu tento compartilhar meu php5-fpm Soquete através de um volume com meu nginx servidor. Fpm e nginx estão sendo executados em contêineres diferentes e quero fazê-los funcionar por meio de um volume compartilhado onde coloco o arquivo de soquete do fpm.

2014/04/13 10:53:35 [crit] 33#0: *1 connect() to unix:/container/fpm/run/php5-fpm.sock failed (13: Permission denied) while connecting to upstream, client: 192.168.8.2, server: docker.dev, request: "GET /test.php HTTP/1.1", upstream: "fastcgi://unix:/container/fpm/run/php5-fpm.sock:", host: "docker.dev"

Eu já tentei definir permissões para 777 e alterar o grupo de php5-fpm.socket para www-data.

Dockerfile do contêiner fpm

FROM ubuntu:13.10RUN apt-get updateRUN apt-get upgrade -yRUN apt-get install -y php5-cli php5-commonRUN apt-get install -y php5-fpm php5-cgiADD ./php-fpm.conf /etc/php5/fpm/php-fpm.confADD ./pool.d/www.conf /etc/php5/fpm/pool.d/www.confADD ./php.ini /etc/php5/fpm/php.iniCMD ["/usr/sbin/php5-fpm"]

Dockerfile do contêiner nginx

FROM ubuntu:13.10RUN apt-get updateRUN apt-get upgrade -yRUN apt-get install -y nginxADD ./test.php /var/test/test.phpADD ./test.html /var/test/test.htmlADD ./nginx.conf /etc/nginx/nginx.confADD ./site /etc/nginx/sites-enabled/testEXPOSE 80CMD ["/usr/sbin/nginx"]

Eu posso acessar o test.html mas ao acessar test.php Eu recebo 502 Bad Gateway.

Há mais alguma coisa que eu tenha que me preocupar com permissões ao compartilhar coisas por meio de volumes?

É agora 2015 e presumo que o patch do kernel que Michael menciona agora tenha entrado no kernel estável. Eu tenho um exemplo de trabalho de 2 contêineres docker, um com php-fpm e outro com nginx conversando entre si por meio de um soquete unix.

Ver: https://github.com/brad-jones/conductor/tree/master/example-project

A chave para isso funcionar foi abrir as permissões no soquete.

Exemplo: listen.mode = 0777 em / etc / php-fpm.e-mail: conf

Não parecia importar o que ouvir.proprietário & amp; ouvir.grupo foram definidos para.O soquete precisava ser completamente irrestrito, acho que porque um usuário em um contêiner, mesmo que tenha o mesmo nome em outro contêiner, ainda é considerado um usuário diferente.

Contêineres diferentes não podem falar entre si por meio de soquetes de domínio UNIX quando estão em namespaces de rede diferentes. Existe um patch não oficial do kernel isso permite isso, mas você está sozinho se você usá-lo.

ADICIONAR ./teste.php / var / test / test.php no fpm recipiente

Php deve ser interpretado para ser exibido, certo?

Como você está iniciando esses contêineres?

Verifique as permissões no diretório contendo.