Ich experimentiere mit Dockerfiles und glaube, ich verstehe den größten Teil der Logik. In diesem Zusammenhang sehe ich jedoch keinen Unterschied zwischen dem "Offenlegen" und dem "Veröffentlichen" eines Ports.
Alle Tutorials, die ich zuerst gesehen habe, enthalten den EXPOSE
Befehl in der Docker-Datei:
...
EXPOSE 8080
...
Sie erstellen dann ein Image aus dieser Docker-Datei:
$ docker build -t an_image - < Dockerfile
Veröffentlichen Sie dann denselben Port wie oben, wenn Sie das Image ausführen:
$ docker run -d -p 8080 an_image
oder veröffentlichen Sie alle Ports mit
$ docker run -d -P an_image
Was bringt es, einen Port in der Docker-Datei verfügbar zu machen, wenn er trotzdem veröffentlicht wird? Wäre es jemals notwendig, einen Port zuerst verfügbar zu machen und später nicht zu veröffentlichen? Tatsächlich möchte ich alle Ports angeben, die ich in der Docker-Datei beim Erstellen des Images verwenden werde, und mich dann nicht erneut mit ihnen befassen, sondern sie einfach ausführen mit:
$ docker run -d an_image
Ist das möglich?