title: Docker, Nginx and PHP7: ERROR 111 Connection refused while connecting to upstream
body: <p>I run a NGINX-PHP7-COMPOSER image that works well but when using Slim Framework I had to change Nginx's default config to make the URL rewrites work.</p>
  
  <p>And now it show this error in the logs:</p>
  
  <blockquote>
    <p>2017-01-21 14:38:34,357 INFO success: php-fpm7 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)</p>
    
    <p>2017-01-21 14:38:34,359 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)</p>
    
    <p>2017/01/21 14:38:37 [error] 15#15: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.18.0.1, server: auth-api, request: "GET /hello HTTP/1.1", upstream: "fastcgi://172.18.0.6:9000", host: "localhost:9100"</p>
    
    <p>172.18.0.1 - - [21/Jan/2017:14:38:37 +0000] "GET /hello HTTP/1.1" 502 537 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36"</p>
  </blockquote>
  
  <p>The config file I mounted is loaded (I checked the bash with nginx -T):</p>
  
  <pre><code>server {
      listen 80;
      server_name auth-api;
      index index.php;
      root /var/www/html;
  
      location / {
          try_files $uri /index.php$is_args$args;
      }
  
      location ~ \.php {
          try_files $uri =404;
          fastcgi_split_path_info ^(.+\.php)(/.+)$;
          include fastcgi_params;
          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
          fastcgi_param SCRIPT_NAME $fastcgi_script_name;
          fastcgi_index index.php;
          fastcgi_pass auth-api:9000;
      }
  
      error_page   500 502 503 504  /50x.html;
      location = /50x.html {
          root   /usr/share/nginx/html;
      }
  }
  </code></pre>
  
  <p>My Dockerfile (just the image i am loading from the repository):</p>
  
  <pre><code>FROM richarvey/nginx-php-fpm
  </code></pre>
  
  <p>And my docker-compose.yml:</p>
  
  <pre><code>version: '2'
  
  services:
  
  #############
  ## MARIADB ##
  #############
  
      mariadb:
          image: mariadb
          restart: always
          volumes:
              - "./log/mariadb:/var/log/mysql:rw"
              - "./data/mariadb:/var/lib/mysql:rw"
          environment:
              - "MYSQL_ROOT_PASSWORD=pass"
          ports:
              - "3306:3306"
  
  ##############
  ## FRONTEND ##
  ##############
  
      frontend:
          image: skiychan/nginx-php7:latest
          volumes:
              - ./services/frontend/src:/data/www
          links:
              - mariadb:mysql
          ports:
              - "9001:80"
  
  ##############
  ## AUTH API ##
  ##############
  
      auth-api:
          build: ./services/api/auth/
          volumes:
              - ./services/api/auth/code/:/var/www/html
              - ./services/api/auth/:/etc/nginx/sites-available/
          links:
              - mariadb:mysql
          ports:
              - "9100:80"
              - "9000:9000"
  </code></pre>
  
  <p>Do you have any idea of what is going wrong?</p>