Docker Networking - nginx: [emerg] -Host nicht im Upstream gefunden

Ich habe kürzlich mit der Migration zu Docker 1.9 und Docker-Compose 1.5 begonnen, um die Netzwerkfunktionen durch Links zu ersetzen.

So weit mit Links gab es keine Probleme mit Nginx Verbindung zu meinem PHP5-FPM FastCGI-Server auf einem anderen Server in einer Gruppe über Docker-Compose. Neu wenn ich @ rendocker-compose --x-networking up Meine PHP-FPM-, Mongo- und Nginx-Container starten, Nginx wird jedoch sofort mit @ beende[emerg] 1#1: host not found in upstream "waapi_php_1" in /etc/nginx/conf.d/default.conf:16

Wenn ich jedoch den Befehl docker-compose erneut ausführe, während die PHP- und Mongo-Container ausgeführt werden (nginx wird beendet), wird nginx gestartet und funktioniert von da an einwandfrei.

Das ist meindocker-compose.yml Datei

nginx:
  image: nginx
  ports:
    - "42080:80"
  volumes:
    - ./config/docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro

php:
  build: config/docker/php
  ports:
    - "42022:22"
  volumes:
    - .:/var/www/html
  env_file: config/docker/php/.env.development

mongo:
  image: mongo
  ports:
    - "42017:27017"
  volumes:
    - /var/mongodata/wa-api:/data/db
  command: --smallfiles

Das ist meindefault.conf für nginx:

server {
    listen  80;

    root /var/www/test;

    error_log /dev/stdout debug;
    access_log /dev/stdout;

    location / {
        # try to serve file directly, fallback to app.php
        try_files $uri /index.php$is_args$args;
    }

    location ~ ^/.+\.php(/|$) {
        # Referencing the php service host (Docker)
        fastcgi_pass waapi_php_1:9000;

        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;

        # We must reference the document_root of the external server ourselves here.
        fastcgi_param SCRIPT_FILENAME /var/www/html/public$fastcgi_script_name;

        fastcgi_param HTTPS off;
    }
}

Wie kann ich erreichen, dass Nginx nur mit einem einzigen Docker-Compose-Aufruf funktioniert?

Antworten auf die Frage(26)

Ihre Antwort auf die Frage