DockerfileDocker: Warum Portweiterleitung funktioniert nicht mit Go-Tour?
FROM golang:latest
EXPOSE 3999
ENTRYPOINT ["go", "tool", "tour"]
Es beginnt die Go Tour bei http://localhost:3999
Ich laufe es mit Docker run -d -p 127.0.0.1:3999:3999 "hubusername/docker-tour:v1"
Aber $ curl http://localhost:3999
einen Fehler zurück:
curl: (56) Recv Versagen : Verbindung zurückgesetzt durch Peer
Natürlich funktioniert ip: 3999 im Browser auch nicht.
p.s. docker run -d -p 8081:80 nginx:alpine
funktioniert perfekt
Es ist wahrscheinlich, weil die Go-Tour nur an die lokale IP-Adresse des Containers (127.0.0.1) gebunden ist und nicht an die externe IP-Adresse, die mit "-p" weitergeleitet wird. – afontaine
@afontaine Darf ich -p auf 127.0.0.1 weiterleiten? –
Es gibt wahrscheinlich eine Option, die 'go tour' ermöglicht, an eine andere IP-Adresse zu binden. Wenn Sie "0.0.0.0" an diese Option übergeben, werden normalerweise alle IP-Adressen gebunden. Gibt es eine '-h' oder eine' -host' Option? – afontaine