Wenn ich den Befehl ausführe:
docker run dockerinaction/hello_world
Beim ersten Mal tritt das folgende Szenario auf:
Das dockerinaction/hello_world
Dockerfile
ist unten zu sehen:
FROM busybox:latest
CMD ["echo", "hello world"]
Also aus dem Wortlaut:
Docker durchsucht Docker Hub nach dem Bild
Es gibt mehrere Dinge, die mich interessieren:
- Ist der Bild
dockerinaction/hello_world
? - Macht dies Bild verweisen auf einen anderen Bild genannt
busybox:latest
? - Was ist mit
Dockerfile
Ist das irgendwo auf meiner Maschine?
Antworten:
5 für die Antwort № 1Antworten auf jede Frage mit Aufzählungszeichen in entsprechender Reihenfolge:
- Ja das Bild ist
dockerinaction/hello_world
. - Ja, das Bild verweist darauf
busybox:latest
und baut darauf auf. - Nein, die Dockerfile wird nicht auf Ihrem Computer gespeichert. Das
docker run
Der Befehl lädt eine komprimierte Version des erstellten Docker-Images herunter, das in Docker Hub gefunden wurde. In gewisser Weise können Sie sich die Dockerfile als Quellcode und das erstellte Image als Binärdatei vorstellen.
Wenn Sie möchten, können Sie Ihre eigene Docker-Datei mit folgendem Inhalt schreiben:
FROM busybox:latest
CMD ["echo", "hello world"]
Dann in dem Verzeichnis, in dem sich diese Datei befindet (benannt Dockerfile
), du könntest:
$ docker build -t my-hello-world:latest .
$ docker run my-hello-world:latest
Das docker build
Befehl erstellt die Dockerfile, die in diesem Fall ist auf Ihrem Rechner gespeichert. Das erstellte Docker-Image wird als gekennzeichnet my-hello-world:latest
und ist nur auf Ihrem Computer verfügbar (wo er gebaut wurde), sofern Sie nicht push
es irgendwo. Sie können das erstellte Image von Ihrem Computer aus ausführen, indem Sie auf das Tag in der Datei verweisen docker run
Befehl, wie in der zweiten Zeile oben.