Ich habe das Image mit der Flask darin erstellt, auf meinem Rechner (einem Ubuntu 24.04-Rechner) getestet und es scheint gut zu funktionieren. Flask meldet 2 IPs (den lokalen Host und die tatsächliche IP meines PCs), auf die von meinem Computer (über einen Browser) oder sogar von anderen Computern aus (der Port war auf meinem Computer geöffnet) zugegriffen werden kann.
Das Problem, mit dem ich konfrontiert bin, besteht darin, dass derselbe Docker nicht wie erwartet zu funktionieren scheint, wenn ich versuche, ihn auf einem Server bereitzustellen. Lassen Sie mich die Probleme zusammenfassen, auf die ich stoße:
a) Die gemeldeten IPs sind:
Code: Select all
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:5000
* Running on http://172.17.0.2:5000
Ich habe den Port 5000 im Docker verfügbar gemacht (in beiden Computern). Sollte ich den Parameter:
-p 5000:5000 einschließen, wenn ich beispielsweise meinen Docker ausführe?
b) Die gemeldete zweite IP ist eine private IP, auch wenn ich mich nicht irre. Von mir wurde erwartet, dass eine öffentliche IP-Adresse offengelegt wird. Auf meinem ersten PC haben wir statische IPs. Vielleicht ist das der Grund dafür, dass wir keine öffentliche IP sehen können?
c) Wenn wir davon ausgehen, dass keine öffentliche IP verfügbar ist, wird eine lokale bereitgestellt. Aber es scheint seltsam, dass es nicht die IP des Servers ist. Ich verwende eine andere IP (eine andere lokale), um über SSH eine Verbindung zum Server herzustellen:
[email protected]
Wie ist es möglich, dass Flask eine andere lokale IP als die tatsächliche IP des Computers offenlegt, auf dem es bereitgestellt wird (sogar auf einem Docker)?
Mobile version