ठीक है, इसलिए मुझे "एक नोड- js ऐप मिला है" जो मुझे ट्रफिक तक पहुंचना पसंद है।
नोड-जेएस ऐप पोर्ट पर चलता है 3000
मैं पीछे चल रहा है test-it
आरंभ पृष्ठ से निर्देश।
docker-compose.yml
version: "2"
services:
app:
build:
context: .
dockerfile: docker/app/Dockerfile
environment:
- NODE_ENV=development
- NODE_PORT=3000
volumes:
- ./app:/app
expose:
- "3000"
networks:
- web
labels:
- "traefik.backend=microservice"
- "traefik.backend.port=3000"
- "traefik.port=3000"
- "traefik.frontend.rule=Host:microservice.docker.localhost"
networks:
web:
external:
name: traefik_webgateway
कनेक्ट करने का प्रयास कर रहा है:
curl -H Host:microservice.docker.localhost http://localhost/
खराब गेटवे
curl -H Host:microservice.docker.localhost http://localhost:3000/
कर्ल: (52) सर्वर से खाली उत्तर
परंतु curl -H Host:whoami.docker.localhost http://localhost/
इरादा की तरह काम करता है।
उत्तर:
जवाब के लिए 0 № 1समस्या यह थी कि मेरा माइक्रोसॉर्स्ट सुनने के लिए बाध्य था localhost:3000
इसके बजाय मैंने इसे बदल दिया 0.0.0.0:3000
और यह एक आकर्षण की तरह काम किया।
हटा दिया - "traefik.backend.port=3000"
से ही docker-compose.yml
जोड़ा 127.0.0.1 microservice.docker.localhost
सेवा मेरे /etc/hosts
जो मेरे लिए सक्षम है:
curl http://microservice.docker.localhost/
और मुझे वह प्रतिक्रिया मिल रही है जिसकी मुझे उम्मीद थी
मैं एक microservice हूँ!