Ich verwende einen Debian-Docker-Container auf einem Windows 10-Computer, der auf eine bestimmte URL an Port 9000 zugreifen muss (164.16.240.30:9000
)
Der Host - Rechner darauf zugreifen kann fein über den Browser, aber wenn ich an das Terminal anmelden und laufe wget 172.17.240.30:9000
ich failed: No route to host
.
Um dies zu beheben, fügte ich hinzu:
ports:
- 9000:9000
für die Datei docker-compose.yml scheint dies jedoch keinen Unterschied gemacht zu haben.
Falls Sie nicht erraten können, dass ich neu in diesem Bereich bin, was würden Sie als Nächstes versuchen?
Gesamte Datei docker-compose.yml:
version: '3.4'
services:
tokengeneratorapi:
network_mode: host
image: ${DOCKER_REGISTRY}tokengeneratorapi
build:
context: .
dockerfile: TokenGeneratorApi/Dockerfile
ports:
- 5000:80
- 9000
environment:
ASPNETCORE_ENVIRONMENT: local
SSM_PATH: /ic/env1/tokengeneratorapi/
AWS_ACCESS_KEY_ID:
AWS_SECRET_ACCESS_KEY:
Befehl, den ich ausführe:
docker-compose build --build-arg BRANCH=featuretest --build-arg CHANGE_ID=99 --build-arg CHANGE_TARGET=develop --build-arg SONAR_SERVER=164.16.240.30
164.16.240.30:9000
, der nicht auf Ihrem Computer ausgeführt wird. Ihr Browser hat Zugriff auf diese 164.16.240.30:9000
Ressource, der Container jedoch nicht. Habe ich recht? Warum versuchen Sie, andere Ressourcen 172.17.240.30:9000
als das Terminal zu nutzen und nicht 164.16.240.30:9000
?
I log in to the terminal and run
bist du im Container? und warum Sie unterschiedliche IP 172.17.240.30 vs 164.16.240.30 verwenden