Docker HTTP-Requests zwischen Containern

Ich bin in der ersten Phase, in der ich lerne, wie man mit Docker umgeht, und probiere grundlegende Dinge aus. Ich habe zwei Node Express-Dienste erstellt, die Daten über HTTP-Anforderungen austauschen müssen.

Mydocker-compose.yml Date

networks:
  isolation-network:
    driver: bridge

services:
  service1-nodejs:
    build:
    context: ./service1/
    dockerfile: .docker/node.dockerfile
    ports:
      - "10000:9000" 
      - "10001:5858" 
    env_file: ./service1/.docker/env/app.${APP_ENV}.env
    networks:
      - isolation-network

  service2-nodejs:
    build:
    context: ./service2/
    dockerfile: .docker/node.dockerfile
    ports:
      - "10010:9000" 
      - "10011:5858" 
    env_file: ./service2/.docker/env/app.${APP_ENV}.env
    networks:
      - isolation-network

service1 verwendet dasanforderungsmodul um eine POST-Anfrage an @ zu sendservice 2.

request({ url: "http://service2:10010/api/",
                method: "POST",
                headers: { "Content-Type": "application/json" },
                json: true,
                body: { ... },
                time: true
            }, function (err, res, body) {
                if (!err && res.statusCode == 200) {
                    // success
                }

                // failed
            });

Das Ergebnis dieses Aufrufs ist:

{Fehler: connect ECONNREFUSED 172.18.0.3:10010

Mit Briefträger kann ich testenservice2 beimhttp://localhost:10010/api/ und ich kann bestätigen, dass sie tatsächlich erreichbar sind und wie erwartet funktionieren.

Ich vermisse etwas, kann es aber nicht herausfinden. Was läuft hier falsch?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage