2017-05-31 4 views
1

Wenn ich sudo apt-get update in docker image ausführen und es als Container ausführen, muss ich apt-get update auch auf dem Rechner sudo ausführen? Ich versuche immer noch meinen Kopf darüber zu wickeln, wie Docker funktioniert, weil ein Teil meines Gehirns mir sagt, dass alles, was im Docker-Container läuft, auf alles innerhalb des Docker-Containers angewiesen ist, so dass es nicht nötig ist, apt-get update auf den Maschine und ein anderer Teil meines Gehirns sagt mir, dass das nicht stimmt, also bin ich jetzt ziemlich verwirrt. Wenn ich sudo apt-get update in docker image ausführen und es als Container ausführen, muss ich apt-get update auch auf dem Rechner ausführen?

Antwort

0

Wenn Sie apt-get update in Docker laufen container oder in Ihrem Dockerfile Es ist tatsächlich schafft es eigener isolierter Raum ist, der in diesem speziellen Raum all den Befehl ausführen wird nur ohne Ihre physische Server zu beeinflussen/Umgebungen nur Container und Ihre physischen Server/Umgebungen Teilen derselben kernel. Wenn Sie also apt-get update oder einen anderen Befehl ausführen, wird er nur im Andock-Container oder Docker-Image ausgeführt, das Sie erstellen.

Ich würde Ihnen dringend empfehlen, diese Antwort für Ihr Verständnis über Docker zu lesen. docker and virtual machine

hoffe, dies wird Ihnen helfen!

Vielen Dank!

0

Diese Abhängigkeiten sind nicht so schwer mit Ihrem Docker-Host verbunden, wie Sie es erwarten würden (solange Sie keine Volumes darauf mounten).

Sie können Ihren Vorschlag mit wenigen Zeilen Code überprüfen. Lassen Sie uns auf die Ebene ubuntu Bild verwenden:

docker run --rm ubuntu apt-get install git 

die in E: Unable to locate package git führt. Dies liegt daran, dass die Pakete noch nie mit apt-get update aktualisiert wurden.

Wenn wir eine Dockerfile aus diesen wenigen Zeilen liefern:

FROM ubuntu 
RUN apt-get update 

und bauen es zu bekommen ein neues Bild

docker build -t myubuntu . 

können wir das neue Bild wie dieses

docker run --rm myubuntu apt-get install git 
ausführen

die dann versucht, Git aus den offiziellen Repositories zu installieren, weil das Bild zuvor ausführbar war ed apt-get update.

Allerdings würde ich nicht vorschlagen, in dem Container zu vertrauen, dass das Bild über apt-get veraltet ist.

Verwandte Themen