Docker Version 17.06.0-ce
Ich lerne Docker, indem ich mir einen Videokurs anschaue.
Der Dozent zeigt:
sudo docker run -ti ubuntu /bin/bash
Führen Sie docker mit image ubuntu aus. Und was mich stört, ist /bin/bash\
.
man docker run
zeigt, dass /bin/bash
das ein Befehl ist. Das ist docker run IMAGE [COMMAND]
. Nun, es ist in Ordnung. Aber was ist der Unterschied zwischen
sudo docker run -ti ubuntu
und
sudo docker run -ti ubuntu /bin/bash
Für mich gibt es keine. Und der Dozent konzentriert sich nicht auf das Kommando. Er sagte, dass wir nur Hafenarbeiter sind. Es war sein erstes Kommando im Kurs. Und dann zeigt er, dass wir von der Host-Maschine isoliert wurden, wir können frei ruinieren, was wir wollen, ohne Schaden zu nehmen (wie z. B. rm -rf / bin).
Ich überprüfte:
$ sudo docker run -ti ubuntu
root@aaf7cd26fe18:/# echo $SHELL
/bin/bash
$ sudo docker run -ti ubuntu /bin/bash
root@6b2570958216:/# echo $SHELL
/bin/bash
Nun, für mich selbst habe ich beschlossen, diesen /bin/bash
Teil als Müll wegzuwerfen .
Aber trotzdem habe ich mich entschlossen, Sie zu fragen: Vielleicht gibt es einen Unterschied zwischen den beiden Möglichkeiten, Docker auszuführen? Wenn ja, wie ist es?