[LINUX] Ich werde zusammenfassen, was ich gerne getan habe, um aus dem Zustand herauszukommen, in dem ich den Buchstaben D von Docker nicht einmal kenne

Überblick

Wenn ich Docker berührte, blieb ich oft in dem stecken, was ich lernen sollte, also werde ich versuchen, das zu organisieren, was ich während des Studiums für besonders nützlich hielt.

Zielgruppe

Es ist gut, mit Docker zu beginnen, aber ich verstehe die Infrastruktur oder Linux überhaupt nicht, aber der Fokus liegt auf der Ebene, etwas dagegen tun zu wollen. Tiefe Teile wie das Einsteigen in k8s und Best Practices für das praktische Beherrschen von Docker sind ausgeschlossen. Vielmehr würde ich gerne lesen, ob es so etwas gibt.

Darüber hinaus konzentriert sich dieser Artikel auf das Wissen, das erforderlich ist, um eine Ausführungsumgebung für Webanwendungen mit Docker erstellen zu können. Wenn Sie Erfahrung in der Erstellung einfacher Web-Apps haben, die Datenbanken verwenden, sind Sie möglicherweise motiviert, Docker zu studieren.

Vorwort

Vor ungefähr einem Jahr dachte ich plötzlich, ich sollte ** Docker ** machen. Docker hat viele einführende Artikel, und ich ging schnell zu dem Punkt, an dem ich es vorerst nicht mehr bewegen konnte, indem ich es nachahmte. Zu diesem Zeitpunkt hatte ich jedoch keine Kenntnisse über Linux oder Infrastruktur, so dass unklar war, was ich tat, geschweige denn das Funktionsprinzip, und ich konnte es von Anfang an nicht in die Hände bekommen.

Es gab viele einführende Artikel über Docker selbst, aber ich konnte kein vollständiges Bild davon finden, "welche Kenntnisse erforderlich sind, um Docker zu verstehen". Ich dachte, Docker sei noch früh für mich, aber ich wollte Docker doch verstehen können.

Es ist noch weit von einem Zustand entfernt, in dem ich Docker vollständig verstanden habe, aber ich habe mich gefragt, ob ich in der Lage bin, die für das Verständnis des grundlegenden Teils erforderlichen Kenntnisse zu vertiefen. Ich habe es geschafft, aus dem Zustand zu entkommen, in dem ich mir den Betrieb von Docker überhaupt nicht vorstellen konnte ... Muss.


Obwohl ich kaum aus dem Zustand herauskommen konnte, in dem ich Docker nicht verstand, wusste ich nicht, was ich tun sollte, um Dockers Schwäche loszuwerden, und es war schwierig für mich, weiter zu tappen. Wenn Sie also ein Memorandum haben, möchte ich zusammenfassen, was ich für gut hielt, um dies zu tun. Wenn Sie dies tun, wird Docker perfekt sein !! ... es ist nicht so, aber ich hoffe, es hilft.

Im Folgenden werden wir hauptsächlich Bücher vorstellen. Zu diesem Zeitpunkt kann es gut sein, sich darüber im Klaren zu sein, was Sie lernen möchten. Ich weiß nicht, ob es als Leitfaden dienen wird, aber ich werde nicht nur vorstellen, womit ich zufrieden war, sondern auch beschreiben, was ich lernen wollte.

Linux

Das Verständnis von Linux ist wichtig, um zu lernen, wie Docker funktioniert, ganz zu schweigen von den Vorgängen im Container. Selbst wenn Sie sich nur Linux ansehen, ist der zu untersuchende Inhalt sehr umfangreich und es ist leicht, sich Gedanken darüber zu machen, womit Sie beginnen sollen. Im Folgenden finden Sie einige Bücher, die Ihnen geholfen haben, die grundlegenden Befehle, Operationen im Container und die Arbeitsprinzipien von Docker zu verstehen.

Neues Linux-Lehrbuch

Ursprünglich hatte ich viele Möglichkeiten, mit Linux zu arbeiten, aber dies war das erste Mal, dass ich gründlich mit Büchern gelernt hatte. Zusammenfassend denke ich, dass das erste, was ich mit diesem Buch angefangen habe, die richtige Antwort war. Die Shell ist sehr einfach zu lesen, da sie mit etwas beginnt und die Befehle, die in der Atmosphäre verwendet wurden, so einführt, dass das Wissen nacheinander sorgfältig gesammelt wird.

In den meisten Fällen erfordert der Betrieb in einem Container eine Linux-Shell-Operation als Voraussetzung. Wenn Sie von hier aus beginnen, wissen Sie nicht, was zu tun ist, wenn Sie den Container betreten, und Sie müssen sich darüber keine Sorgen machen. Die Grundlagen von Linux sind eng gepackt, daher möchte ich sie regelmäßig weiterlesen.


Anleitung zum Aufbau und zur Bedienung von Linux-Servern von Grund auf neu Wie man einen Webserver während der Ausführung zum Lernen bringt

Einer der Vorteile des Lernens von Docker besteht darin, dass es einfacher ist, eine Umgebung zu erstellen. Nur wenn Sie dies erkennen, werden Sie motivierter sein, Docker zu lernen.

Als ich mich an die Shell-Operation gewöhnt hatte, versuchte ich tatsächlich, die Umgebung aufzubauen, während ich meine Hände basierend auf dem Buch bewegte. In der heutigen Welt können Sie mithilfe von VPS- oder Cloud-Diensten kostengünstig einen Server erstellen. Nach dem Studium halte ich es für eine gute Idee, es tatsächlich als Server anstelle eines Containers zu erstellen. Wenn Sie Sicherheitsbedenken haben, können Sie versuchen, VM zu verwenden.

Dieses Buch ist so strukturiert, dass Sie lernen können, wie Sie eine LAMP-Umgebung erstellen und gleichzeitig das für den Aufbau eines Servers erforderliche Wissen vertiefen. Dazwischen ist von Netzwerken die Rede, und sie werden dort erklärt, aber wenn Sie nicht weiterkommen, kann es schmerzhaft sein, zuerst Netzwerke zu studieren und es dann erneut zu versuchen.


Versuchen Sie zu verstehen, wie Linux funktioniert - Grundkenntnisse über Betriebssystem und Hardware, die durch Experimente und Illustrationen erlernt wurden

Docker teilt den Kernel

Wie das Wort schon sagt, ist es wichtig, den Kernel zu verstehen, um Docker gründlich kennenzulernen. Um den Kernel zu verstehen, sind jedoch fundierte Kenntnisse und Erfahrungen in einer Vielzahl von Bereichen erforderlich. Wenn Sie den Kernel gut lernen möchten, müssen Sie auf schwierige und dicke Bücher vorbereitet sein. Wenn Sie jedoch gerade mit Docker beginnen, ist ein solches Einführungsbuch sicher genug. ...

Etwas abseits der ausgetretenen Pfade erklärt dieses Buch schwierige Konzepte auf leicht verständliche Weise mit einer Fülle von Diagrammen. Selbst wenn Sie sich ein wenig im Text verlieren, wird dieser sofort durch ein Diagramm ergänzt, um das Bild zu verstärken, sodass Sie sich nicht in der Mitte zurückziehen können, wie es in schwierigen Büchern üblich ist.

Darüber hinaus können Sie nicht nur Abbildungen, sondern auch Prozess- und Speicherverwaltung lernen, indem Sie Bilder mit dem Code verbinden, indem Sie tatsächlich Beispielcode in C-Sprache verwenden. Diese Verbindung ist zeitaufwändig, vertieft jedoch Ihr Verständnis auf ein Niveau, das nicht einfach durch Befolgen des Buchstabens erreicht werden kann.

Nachdem ich dieses Buch tatsächlich gelesen hatte, war es viel einfacher, sich das Funktionsprinzip von Docker vorzustellen. Der Schwierigkeitsgrad wird im Bereich der Speicherverwaltung stetig zunehmen, aber ich denke, es ist die Mühe wert.


Netzwerk

Im Umgang mit Docker war es schwierig, das Bild der Kommunikation zwischen Containern zu erfassen, und am Anfang war es schwer zu verstehen. Zu dieser Zeit hatte ich nur sehr wenig Wissen über Netzwerke und ich hatte nur wenige Möglichkeiten, mich auf das Geschäft einzulassen. Ich persönlich bin der Meinung, dass dies der größte Stolperstein ist.

Ganz zu schweigen vom Netzwerk selbst, der Studienumfang ist sehr breit. Wenn Sie jedoch das Docker-Netzwerk verstehen möchten, ist es möglicherweise einfacher, sich auf Schicht 2 und Schicht 3 zu konzentrieren.

[3-minütiger Netzwerk-Grundkurs](https://www.amazon.co.jp/%E6%94%B9%E8%A8%82%E6%96%B0%E7%89%88-3%E5%88 % 86% E9% 96% 93% E3% 83% 8D% E3% 83% 83% E3% 83% 88% E3% 83% AF% E3% 83% BC% E3% 82% AF% E5% 9F% BA % E7% A4% 8E% E8% AC% 9B% E5% BA% A7-% E7% B6% B2% E9% 87% 8E-% E8% A1% 9B% E4% BA% 8C / dp / 4774143731)

Dies ist eine Buchversion dessen, was auf der Website veröffentlicht wird. Verschiedene Begriffe konzentrieren sich auf die Ebenen 1 bis 3 und werden interaktiv mit Figuren geschrieben. Als ich netzwerkbezogene Bücher las, hatten die Schichten hier nur wenige Möglichkeiten, meine Arbeit und meine Hobbys zu berühren, und es fiel mir schwer, mir einen Überblick zu verschaffen. Besonders in den frühen Tagen war es oft verwirrend, mit tieferen Geschichten wie Ethernet-Standards und Physik zu erklären.

Auf der anderen Seite ist dieses Buch nicht zu tief und nicht zu flach, und jeder Begriff ist in genau der richtigen Menge Salzpflaume geschrieben, daher wird es als erster Schritt empfohlen. Die Textmenge kann schnell gelesen werden. Sie können sie daher mehrmals lesen, um sich an netzwerkbezogene Begriffe zu gewöhnen. Außerdem unterscheidet sich die Website-Version von der Buchversion. Schauen Sie also bei Interesse nach.

Packet Capture Textbook

Im Fall eines Programms können Sie beispielsweise nach dem Erlernen der Grammatik durch tatsächliches Schreiben des Quellcodes das Wissen durch Erfahrung aufbauen. Wenn es jedoch um Netzwerke geht, ist der Weg zum Sehen und Manipulieren der tatsächlichen Kommunikation nicht so informativ wie beim Schreiben eines Programms.

Durch die Begegnung mit diesem Buch wurde mir ein wenig besser bewusst, dass ich nicht gut in Netzwerken war. Die Zusammensetzung selbst erklärt jede Schicht, die gemeinsam ist, aber schließlich erklärt sie detailliert den tatsächlichen Zustand des Pakets für jede Schicht, einschließlich eines Diagramms, das den Fluss sorgfältig beschreibt. Vielen Dank. Grobe Kenntnisse über jede Schicht sind Voraussetzung, aber wiederholtes Lesen sollte Ihre Kenntnisse über Netzwerke einen Schritt weiter von der Lehrbuchphase bringen.

Wenn Sie Docker als Produktionsserver verwenden, sind andere Kenntnisse als die Ebenen 1 bis 3 erforderlich, z. B. HTTPS-Unterstützung und DNS. Wenn Sie diese also jedes Mal zurücklesen, können Sie bei der Anwendung möglicherweise reibungslos lernen.

Einführung in das TCP / IP-Netzwerk unter Linux

Es ist ein kürzlich veröffentlichtes Buch, aber es war sehr interessant zu lesen, deshalb werde ich es hier vorstellen. In Docker sehe ich oft die Erklärung, dass Sie ein virtuelles Netzwerk mithilfe eines sogenannten Netzwerk-Namespace einrichten können, aber in Wirklichkeit ist dies allein kein Problem.

In diesem Buch wird nicht nur das Erstellen eines virtuellen Netzwerks mit Netzwerk-Namespace, sondern auch die Kommunikation mit Ethernet und IP unter dem Gesichtspunkt der Einstellung der Netzwerkschnittstelle sorgfältig erläutert.

Für jede TCP / IP-Schicht können Sie die Einstellungen und Schnittstellen erstellen, die für die Kommunikation mit dem Netzwerk-Namespace erforderlich sind. Während Sie die tatsächliche Kommunikation mit tcpdump überprüfen, können Sie "Schritt für Schritt, bis die Kommunikation möglich wird" sehen. .. Wenn Sie die Grundlagen von Linux erlernen, die oben aufgeführten Netzwerkbücher lesen und dann daran arbeiten, erfahren Sie mehr über den Prozess, mit dem Computer über das Netzwerk miteinander kommunizieren können.

Durch das tatsächliche Einstellen der Schnittstelle zum Netzwerk-Namespace wird das Verständnis von Docker im Netzwerk meiner Meinung nach weiter verbessert.


(Beiseite) In Bezug auf Netzwerkeinführungsbücher werden "Warum Netzwerke verbunden sind" und "Mastering TCP / IP-Einführungsversion" als Standard aufgeführt. Diese Bücher sind sicherlich leicht zu verstehen, aber wenn Sie es mit wenig Wissen über das Netzwerk versuchen, werden Sie große Probleme haben. (Es fiel mir schwer, von hier aus einzutreten)

Lesen Sie zunächst das oben erwähnte Einführungsbuch, und wenn Sie tatsächlich netzwerkbezogenes Wissen benötigen, können Sie es meiner Meinung nach in vollem Umfang genießen, wenn Sie es ausprobieren.

Docker

Um zu lernen, wie man Docker benutzt, müssen Sie natürlich auch Docker selbst studieren. Es gibt viele ausgezeichnete Docker-Einführungsinformationen im Internet, einschließlich Qiita. Sie können ein Gefühl dafür bekommen, indem Sie nach "Docker Primer" suchen und einige der Dinge berühren, die gut aussehen. Zu diesem Zeitpunkt lesen Sie nicht nur, sondern bewegen Ihre Hände tatsächlich, schreiben eine Docker-Datei, verwenden Docker Compose, probieren verschiedene Dinge aus, schlagen fehl, sind erfolgreich usw. Es ist wichtig.

Zuerst kann ich keine Vorstellung davon bekommen, warum jeder Befehl und jede Einstellungsbeschreibung notwendig ist, daher denke ich, dass es schwierig sein wird. Wenn Sie jedoch das Grundwissen aus den oben genannten Elementen erworben haben, sollte dies nicht bedeuten, dass Sie nicht über die erforderlichen Kenntnisse verfügen und Ihre Hände oder Füße nicht erreichen können, sodass Sie es nach und nach verstehen können.

Hier sind einige der Dinge, an denen ich gearbeitet habe. Wenn Sie sich also fragen, was Sie anfangen sollen, sollten Sie sie ausprobieren, wenn Sie einige Übungen haben.

Zu diesem Zeitpunkt wurden die meisten bereits als nützliche Images veröffentlicht. Wenn Sie jedoch zunächst auch Ihre bevorzugte Linux-Distribution als Basis-Image studieren und erstellen, werden Sie Ihr Verständnis vertiefen. Überlegen.


Ich möchte jedoch Bücher zum systematischen Lernen verwenden. Im Folgenden finden Sie einige der besten Docker-Einführungsbücher, die ich gelesen habe.

Docker von Manga verstanden

Insgesamt gibt es 3 Bände, aber in der Einführungsphase denke ich, dass 1 oder 2 Bände ausreichen. Da die Begriffe von Docker in einem Cartoon-Format erklärt werden, eignet es sich auch dann, wenn Sie die Bedeutung von Wörtern wie "Bild" und "Container" kennen, um aus dem Zustand herauszukommen, der in Ihrem Kopf schwer vorstellbar ist. Wenn Sie es zusammen mit den einleitenden Artikeln im Internet lesen, erhalten Sie als ersten Schritt ein gutes Verständnis.

Docker Deep Dive

Es ist ein englisches Buch, daher mag es auf den ersten Blick schwierig erscheinen, aber es werden keine schwierigen englischen Wörter oder Ausdrücke verwendet. Wenn Sie also nicht schlecht in Englisch sind, lesen Sie es bitte. Verschiedene Elemente von Docker werden in Kapiteln in Form von "Übersicht", "detaillierte Erklärung" und "Befehl" erläutert, und der Schwierigkeitsgrad steigt nicht plötzlich in einem Kapitel an, sodass Sie definitiv Schritt für Schritt lernen können.

Wenn Sie es lesen, nachdem Sie Ihre Hände bis zu einem gewissen Grad bewegt haben, sollten Sie in der Lage sein, aus dem Zustand "Docker, den ich nicht verstehe" herauszukommen, indem Sie das in Teilen verstreute Wissen mit klaren Kapiteln verbinden. Um die Inhalte sicher zu verstehen, benötigen Sie ein breites Spektrum an Kenntnissen wie Linux und Netzwerk. Wenn Sie jedoch die bisher eingeführten Dinge sammeln, werden Sie sicherlich in der Lage sein, sich diesen zu stellen.

Andere

Es unterscheidet sich ein wenig vom Verständnis von Docker selbst, aber hier sind einige Dinge, über die ich froh bin, dass ich sie getan habe.

Vim

Vim Masterclass

Wenn Sie den Container betreten und die Einstellungsdatei eine Weile bedienen, können Sie dies vom Host aus tun oder die Erweiterungsfunktion des Editors verwenden. Es wäre jedoch sehr praktisch, wenn es ein Werkzeug gäbe, das in solchen Fällen schnell bedient werden könnte. Wenn Sie Vim studieren, fühlen Sie sich in solchen Zeiten im Container wohl.

Über Vim selbst wird überall heiß gesprochen, deshalb werde ich nicht auf Details eingehen. Wenn Sie es nicht mit Erweiterungen anpassen möchten, hilft Ihnen das Studium im obigen Udemy-Kurs zu verstehen, wie Sie es in wenigen Stunden einfach verwenden können. Obwohl es auf Englisch ist, hat es auch eine Untertitelfunktion, und vor allem werden die Übungen in einer Form erstellt, die genau zum Erlernen der grundlegenden Operationen von Vim geeignet ist, sodass Sie nicht müde werden, die Güte von Vim zu lernen.

Git

Einführung in die Verwendung von Git zum Lernen mit Wakaba

[Git-Lehrbuch für Ingenieure [Fortgeschrittene Ausgabe] Den internen Mechanismus von Git verstehen](https://www.amazon.co.jp/%E3%82%A8%E3%83%B3%E3%82% B8% E3% 83% 8B% E3% 82% A2% E3% 81% AE% E3% 81% 9F% E3% 82% 81% E3% 81% AEGit% E3% 81% AE% E6% 95% 99% E7% A7% 91% E6% 9B% B8% EF% BC% BB% E4% B8% 8A% E7% B4% 9A% E7% B7% A8% EF% BC% BD-Git% E5% 86% 85% E9% 83% A8% E3% 81% AE% E4% BB% 95% E7% B5% 84% E3% 81% BF% E3% 82% 92% E7% 90% 86% E8% A7% A3% E3% 81% 99% E3% 82% 8B-% E6% B2% B3% E6% 9D% 91% E8% 81% 96% E6% 82% 9F-ebook / dp / B01AAIN85K)

Ich denke, Sie können Docker verstehen, ohne Git selbst zu kennen. Da der Quellcode der Anwendung, die in der mit Docker erstellten Umgebung verwaltet wird, mit dem Basis-Git verwaltet wird, gibt es keinen Verlust beim gemeinsamen Lernen.

Git hat neben den hier und online aufgeführten Büchern noch viele wundervolle Dinge zu bieten, sodass ich denke, dass Sie sich nicht verlaufen werden.


Zusammenfassung

Als ich anfing, mit einem kleinen Arrangement oder einem leichten Gefühl zu schreiben, wurde es länger als ich erwartet hatte. Wenn Sie Docker nur als Werkzeug verwenden möchten, können Sie dies tun, indem Sie sich merken, dass Sie diesen Befehl ausführen können, ohne dies zu tun, und das bereitgestellte schöne Bild verwenden. ..

Ich persönlich denke jedoch, dass es besser ist, aus den Grundlagen zu lernen und das Warum zu verfolgen, auch wenn es ein kleiner Umweg ist.

Das ist nicht so gut oder schlecht, nur weil es mehr Spaß macht. Mit Docker als Ausgangspunkt begann ich, mich mit Netzwerken und Linux zu befassen, und vor mehr als einem Jahr mochte ich Docker, Infrastruktur und Linux mehr. Wenn Sie mehr mögen und mehr daraus lernen, wird Ihre intellektuelle Neugier angeregt, was Spaß macht.

Wenn Sie mehr als das schreiben, wird es entgleisen, also werde ich es weglassen, aber ich hoffe, dieser Artikel wird Ihnen helfen, auch nur ein bisschen Spaß zu lernen.

Recommended Posts

Ich werde zusammenfassen, was ich gerne getan habe, um aus dem Zustand herauszukommen, in dem ich den Buchstaben D von Docker nicht einmal kenne
Was tun, wenn "Ich kann die Site nicht sehen !!!!"
Ich möchte den Pfad des Verzeichnisses abrufen, in dem die laufende Datei gespeichert ist.
Beispiel, was zu tun ist, wenn das Beispielskript nicht funktioniert (OpenCV-Python)
Ich möchte den Transferstatus der 2020 J League visualisieren. Was soll ich tun?
Ich war in Schwierigkeiten, weil sich das Verhalten des Docker-Containers nicht geändert hat
Was zu tun ist, wenn es nicht in der Sudoers-Datei enthalten ist. Dieser Vorfall wird gemeldet.
Echtzeit-Persönliche Schätzung (Was muss ich tun, um die Schätzung von Bildern außerhalb der Kategorie zu verhindern?) * Fehler.
Mit der Docker-Version der Nginx-Einheit war es ein wenig schwierig, eine Flasche zu machen
Ich habe versucht, die Grundform von GPLVM zusammenzufassen
Ich habe versucht, die String-Operationen von Python zusammenzufassen
Was tun, wenn das Bild nicht mit matplotlib usw. im Docker-Container angezeigt wird?
Ich war für die Pflege des Fabric-Skripts verantwortlich, weiß es aber nicht.> <Für diejenigen, die
Ich habe versucht, die Standortinformationen des Odakyu-Busses zu erhalten
Ich möchte Betriebsinformationen über die Yahoo-Route erhalten
[Maschinelles Lernen] Ich habe versucht, die Theorie von Adaboost zusammenzufassen
Ich möchte die Natur von Python und Pip kennenlernen
Keras Ich möchte die Ausgabe einer beliebigen Ebene erhalten !!
Ich möchte die Legende der IT-Technologiewelt kennenlernen