牧场主伙伴php-fpm端口映射

我正在使用这个docker工合成牧场主:

version: '2' volumes: data: {} services: web: image: nginx:latest volumes: - /some_local_dir/services.conf:/etc/nginx/conf.d/site.conf volumes_from: - my-service ports: - 9082:80 labels: io.rancher.sidekicks: my-service my-service: image: my-service volumes: - my-service:/my-service ports: - 9001:9000 

我的服务 – 是build立在alpine3.6上的图像,安装了php7-fpm

我的services.conf是:

 server { root /my-service/web; server_name my-service.local; location / { try_files $uri /app.php$is_args$args; } location ~ ^/app\.php(/|$) { fastcgi_pass my-service.web:9001; fastcgi_split_path_info ^(.+\.php)(/.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param HTTPS off; # increase url max size passed to fast CGI interface fastcgi_buffer_size 32k; fastcgi_buffers 4 32k; fastcgi_busy_buffers_size 32k; internal; } error_log /var/log/nginx/my-service_error.log; access_log /var/log/nginx/my-service_access.log; } 

然后我得到错误:

连接上行时,客户端:10.42.0.1,上行:“fastcgi://10.42.94.81:90​​01”,连接失败(111:连接被拒绝)

当我删除端口映射,并离开fpm端口uncahnged(9000:9000)所有开始工作

Github帮我find了php-fpm7没有工作的原因,我更新了/etc/php7/php-fpm.d/www.conf中的my-service映像,而不是默认的

 listen = 127.0.0.1:9000 

我写了

 listen = 9000 

它使事情为9000:9000,但9001:9000 – nope((

请帮忙理解一下,如何将fpm转发到9001,就我而言

似乎我滥用configuration,以下input的牧场人sidekick意味着my-service:9001将打开所有外部容器,而9000剩余的父容器。

 my-service: image: my-service volumes: - my-service:/my-service ports: - 9001:9000 

所以我根本不需要端口映射,如果我不想把fpm暴露给外部容器的话。

如果需要在9001上工作,唯一的方法是重新定义fpm的默认值并在9001上启动它,甚至更正确的方法是使用单独的池来应用程序。