2017-07-20 4 views
0

Ich habe zwei Container nginx und PHP zur Konfiguration Docker-komponieren so, wenn ich wget http://example.com von innen php Container machen sollte dieser Host-ContainerDocker binden Host Container

Antwort

1

Ordnen Sie Ihre nginx Port nginx Punkt Port Host.

Wenn Sie Host-Namen hat example.com und nginx läuft auf Port 8080, richten Sie Ihren Docker-komponieren wie

nginx: 
    image: nginx 
    hostname: nginx 
    ports: 
    - "8080:80" 

In diesem Fall Anfrage http://example.com wirklich als http://nginx:8080 ausgeführt werden.

+0

vielleicht, ich Ihre Lösung nicht verstehen, aber das ist für mich nicht funktioniert. Trotzdem danke – Alexander

0

Ich habe für meine Container in Docker-compose.yml statischen IPs angegeben und hinzugefügt extra_host:

services: 
    nginx: 
    image: nginx 
    ports: 
     - "8200:80" 
     - "8201:443" 
    volumes: 
     - .:/var/www/html 
    networks: 
     test: 
     ipv4_address: 10.5.0.5 
    php: 
    build: ./docker/php 
    volumes: 
     - .:/var/www/html 
    environment: 
     APP_ENV: "dev" 
    networks: 
     test: 
     ipv4_address: 10.5.0.6 
    extra_hosts: 
     - "example.com:10.5.0.5" 
networks: 
    test: 
    driver: bridge 
    ipam: 
    config: 
     - subnet: 10.5.0.0/16 
+0

während diese Lösung funktioniert, änderte ich es in eine einfachere Lösung. In meinem Fall hat der Host-Rechner einen Proxy für example.com zu nginx container, also habe ich gerade "example.com: " geändert, was besser aussieht – Alexander

Verwandte Themen