ฉันต้องการให้ทุกสิ่งที่เริ่มต้นด้วย/apiถูกนำไปhttp://localhost:3007
นี่คือ nginx.conf ของฉัน
user nginx;
worker_processes  1;
daemon off;
events {
    worker_connections 1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   /usr/html;
            index  index.html index.htm;
        }
        location /api {
            proxy_pass http://localhost:3007;
            proxy_read_timeout 5m;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
    include servers/*;
}
มันทำงานได้เมื่อฉันเรียกใช้ในเครื่องบน mac ของฉัน แต่มันไม่ทำงานเมื่อฉันรันมันใน docker-container
นี่คือไฟล์นักเทียบท่าของฉัน:
FROM smebberson/alpine-nginx:latest
COPY /dist /usr/html/
COPY nginx.conf /etc/nginx/nginx.conf
นี่คือนักแต่งเพลงของฉัน:
version: "2"
services:
  web:
    build: .
    ports:
     - "80:80"
ข้อผิดพลาดที่ฉันได้รับจาก nginx:
2017/06/28 13:06:51 [error] 200#0: *9 connect() failed (111: Connection refused) while connecting to upstream, client: 172.19.0.1, server: localhost, request: "GET /api HTTP/1.1", upstream: "http://127.0.0.1:3007/api", host: "localhost"
          
                  ดังนั้นคุณต้องการรัน nginx ใน container docker หรือไม่?
                
                
                  
                    —
                    P0pR0cK5 
                    
                  
                
              
                  @JulienGuerder ใช่ ฉันเป็น Express-API ของฉันในที่เก็บหนึ่งแห่งและ nginx ที่ให้บริการเนื้อหาคงที่ในที่เก็บอื่น
                
                
                  
                    —
                    Joe 
                    
                  
                
              
                  คุณต้องใช้ฟังก์ชั่นเครือข่ายนักเทียบท่าเพื่อเชื่อมต่อทุกอย่างเข้าด้วยกัน ดูลิงค์นี้มันอธิบายวิธีการใช้เครือข่ายนักเทียบท่ากับตัวอย่าง  dasblinkenlichten.com/docker-networking-101-host-mode
                
                
                  
                    —
                    P0pR0cK5 
                    
                  
                
              
                  ดูเหมือนจะหนัก มีความเชื่อมั่นมากมายที่จะทำให้เรื่องนี้ดำเนินไปได้?
                
                
                  
                    —
                    Joe 
                    
                  
                
              
                  ไม่จริงๆคุณต้องเข้าใจว่า nework ทำงานอย่างไร
                
                
                  
                    —
                    P0pR0cK5