Es ist etwas spät, aber ich habe Docker aus den Grundlagen gelernt, also werde ich es zusammenfassen. Die detaillierten Optionen aller Befehle werden nicht zusammengefasst. Der Zweck dieses Artikels ist es, ein Tool namens Docker kennenzulernen, das rudimentär (aber wichtig) ist.
Docker ist ein "Konstruktionswerkzeug für virtuelle Umgebungen".
Eine virtuelle Umgebung ist ein temporärer Raum (ein Ort, an dem etwas realisiert werden kann), der künstlich in einem Computer erstellt wird. Wenn Sie etwas mehr kauen, können Sie das, was Sie ursprünglich benötigen, physisch verschieben, als wäre es virtuell.
In einer Windows-Umgebung kann beispielsweise eine virtuell erstellte Linux-Betriebssystemumgebung oder eine andere Windows-Betriebssystemumgebung als Beispiel für eine virtuelle Umgebung vorbereitet werden. Im Allgemeinen wird das Betriebssystem, das die Grundlage für die Erstellung einer virtuellen Umgebung bildet, als "Host-Betriebssystem" und das Betriebssystem in der virtuellen Umgebung als "Gast-Betriebssystem" bezeichnet. Durch das Erstellen einer virtuellen Umgebung ist es nicht mehr erforderlich, einen Personal Computer für Linux und einen Personal Computer für Windows physisch vorzubereiten, und es wird möglich, zentral mit einer Hardware zu verwalten. Es hat auch den Vorteil, dass der Speicher und die Festplattenkapazität flexibel angepasst werden können. Durch das Erstellen einer virtuellen Umgebung werden auch Hardwaregeräte eingespart.
Es gibt verschiedene Arten von virtuellen Maschinen. Ich werde kurz die Vor- und Nachteile der einzelnen erläutern.
① Hosttyp ② Hyper-Visier-Typ ③ Containertyp
Siehe: Was ist eine virtuelle Umgebung? Erläuterung der Vor- und Nachteile, typische Software "VMware"
Dieser Typ installiert ein Host-Betriebssystem auf einem PC oder Server und installiert und erstellt Software zur Erstellung virtueller Umgebungen auf diesem Betriebssystem. Das Gastbetriebssystem ist über dem Hostbetriebssystem ausgerichtet.
-Vorteil: Sie können es sofort verwenden, indem Sie es auf einem vorhandenen Server installieren, und Sie können es einfach starten. -Nachteil: Das Host-Betriebssystem muss gestartet werden. Wenn die Hardware gestartet wird, kann es einige Zeit dauern, bis das Host-Betriebssystem gestartet ist.
Der Hypervisor-Typ ist ein Typ, der die Virtualisierung erstellt, indem die Virtualisierungssoftware "Hypervisor" direkt auf einer Hardware installiert wird. Da das Host-Betriebssystem nicht gestartet werden muss, kann es schneller als der Host-Betriebssystem-Typ gestartet werden.
-Vorteil: Da es kein Host-Betriebssystem gibt, können die meisten Ressourcen der virtuellen Umgebung zugewiesen werden. -Nachteil: Sie müssen neue Hardware kaufen, ohne vorhandene PCs und Server wiederzuverwenden. Beim Bauen müssen Sie auch auf den Kostenaspekt achten.
Auf dem Host-Betriebssystem wird eine Virtualisierungssoftware namens "Container Engine" installiert, eine Umgebung namens Container erstellt und Anwendungen ausgeführt. Container haben nicht das Konzept eines Gastbetriebssystems. Es wird vom Host-Betriebssystem als ein Prozess erkannt. Daher sind keine zusätzlichen Ressourcen erforderlich und es kann eine leichte Umgebung bereitgestellt werden. Wenn Sie es tatsächlich verwenden, können Sie die Anwendung in kurzer Zeit starten.
-Vorteile: Gute Ressourceneffizienz und hervorragende Kostenleistung. ・ Nachteil: Es gibt nur wenige Anbieter, die gebaut werden können, da es sich um eine neue Technologie handelt. Es fehlen praktische Management-Tools.
Wie oben erwähnt, ist Docker ein "Konstruktionswerkzeug für virtuelle Umgebungen". Unter anderem können Sie eine virtuelle Umgebung mit dem Namen "** container **" erstellen und in diesem Container Anwendungen, Middleware, Betriebssysteme usw. ausführen. Eine der Attraktionen des Containers ist, dass er extrem leicht ist und schnell gestartet und gestoppt werden kann. Mal sehen, wie Docker tatsächlich funktioniert.
Hier werden wir unser Verständnis der Funktionsweise von Docker vertiefen, basierend auf Begriffen, die Docker-Anfänger beachten sollten.
・ Docker-Engine ・ Docker-Container ・ Docker-Image
Die Docker-Engine kann als "Docker selbst" verstanden werden. Dies ist der Kern von Docker, der Docker-Images erstellt und Container startet. Diese Docker-Engine kann einfach verwendet werden, indem Docker auf dem Host-Betriebssystem (Windows, Mac, Linux) installiert wird. Nach der Installation scheint die Docker-Engine auf dem Host-Betriebssystem ausgeführt zu werden und jeder Container wird darauf ausgeführt.
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/623708/c6cdea87-5c94-5188-cbf6-b0112bcd0f1e.png ", width="500">
Siehe Bild: https://www.ogis-ri.co.jp/otc/hiroba/technical/docker/part1.html
Ein Docker-Container ist eine virtuelle Umgebung, die auf der Docker-Engine ausgeführt wird. Mit dem Docker-Container können Sie verschiedene Umgebungen erstellen, von Betriebssystemen wie CentOS und Ubuntu bis hin zu Middleware wie Nginx und MySQL und Anwendungen wie Rails und Wordpress. Diese Container haben die Funktion "** läuft mit dem Host-Betriebssystem-Kernel (Linux-Kernel) **"! Ein Linux-Kernel ist eine Kernsoftware, die die für ein Betriebssystem erforderlichen Grundfunktionen sammelt.
Die Frage hier ist: "** Wird Docker unter Windows und Mac ohne Linux gestartet? **". Die Antwort steht auf! Der Grund dafür ist, dass die virtuelle Linux-Maschine hinter dem Start von Docker ausgeführt wird, sodass jeder Container auch auf dieser virtuellen Maschine ausgeführt wird.
Außerdem ist diese virtuelle Maschine, Linux, nicht für jeden Container unabhängig, sondern es wird diejenige verwendet, die allen Containern gemeinsam ist. Sie spart also die Ressourcen (CPU und Speicher) der Host-Maschine. Dadurch ** wird der Container selbst leichter und vor allem der Grund, warum der Docker-Container schneller startet **.
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/623708/2c9da8b1-609f-20e5-6484-84624142df97.png ", width="500">
Referenz: https://kitsune.blog/docker-summary#Docker%25E3%2582%25B3%25E3%2583%25B3%25E3%2583%2586%25E3%2583%258A%25E3%2581%25A8%25E3%2581% 25AF
Ein Docker-Image ist wie ein ** Handbuch ** zum Erstellen eines Docker-Containers. Basierend auf diesem Docker-Image wird ein Container erstellt. Sie können ein neues Bild erstellen, indem Sie jedem Bild eine "Ebene" überlagern. Dies ist das "Basisbild", das das Originalbild ist!
Eine kurze Zusammenfassung von Docker und der Funktionsweise von Docker. Selbst wenn Sie die Umrisse von Docker verstehen können, wenn Sie keine Grundkenntnisse in Linux haben, bleiben Sie bei den Einstellungen der Docker-Umgebung hängen, daher möchte ich auch Linux studieren.
Recommended Posts