Uso compartido de socket unix a través del volumen de docker-permiso denegado

Trato de compartir mi php5-fpm conexión a través de un volumen con mi nginx servidor web. Fpm y nginx se ejecutan en diferentes contenedores y quiero que funcionen a través de un volumen compartido donde coloco el archivo de socket de 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"

Ya intenté establecer los permisos en 777 y cambiar el grupo de php5-fpm.socket a www-data.

Dockerfile del contenedor 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 del contenedor 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"]

Puedo acceder al test.html pero al acceder test.php Recibo 502 Bad Gateway.

¿Hay algo más que deba preocuparme por los permisos al compartir cosas a través de volúmenes?

Ahora es 2015 y supongo que el parche del kernel que menciona Michael ahora ha llegado al kernel estable. Tengo un ejemplo de trabajo de 2 contenedores docker, uno con php-fpm y el otro con nginx que se comunican entre sí a través de un socket unix.

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

Sin embargo, la clave para que funcionara era abrir los permisos en el socket.

Egr: listen.mode = 0777 en /etc / php-fpm.d / www.conf

No parecía importar lo que escuchara.propietario y amp; escucha.el grupo se estableció en.El socket necesitaba ser completamente irrestricto, supongo que porque un usuario en un contenedor, incluso si tiene el mismo nombre en otro contenedor, todavía se considera un usuario diferente.

Los contenedores diferentes no pueden comunicarse entre sí a través de sockets de dominio UNIX cuando se encuentran en diferentes espacios de nombres de red. Hay un parche de kernel no oficial eso lo permite, pero estás solo si lo usas.

AÑADIR ./prueba.php / var / test / prueba.php en el fpm contenedor

Php debe ser interpretado para ser mostrado, ¿verdad?

¿Cómo estás iniciando estos contenedores?

Compruebe los permisos en el directorio que contiene.