Heim > Artikel > Betrieb und Instandhaltung > Warum ist Docker in der Go-Sprache geschrieben?
Erstens nutzen unsere aktuellen Mainstream-Dienste alle Unix/Linux-Betriebssysteme und Golang verlässt sich nur sehr wenig auf Dritte. Dies ist sowohl eine Einschränkung als auch ein Vorteil. In diesem Fall kann der mit Golang entwickelte Docker grundsätzlich einwandfrei auf den meisten Servern laufen, die mit Unix/Linux-Betriebssystemen ausgestattet sind.
Warum erfordert Docker nicht die Installation von Golang?
Die Frage, warum Docker keine Installation von Golang erfordert, liegt daran, dass ich ein Java-Hintergrundentwickler bin und einige in Python entwickelte Open-Source-Tools unter Ubuntu sowie sowohl Java- als auch Python-Open-Source-Tools verwendet werden erfordern Installieren Sie die entsprechende Betriebsumgebung:
Java erfordert die Installation von mindestens JRE, und manchmal wird der Einfachheit halber auch die Installation von JDK benötigt
Python erfordert die Installation von mindestens der Python-Entwicklungsumgebung Manchmal geöffnet Quelltools müssen auch andere Python-Pakete installieren.
Das Java-Quellprogramm wird von einem Compiler kompiliert und der Bytecode wird von der virtuellen Maschine interpretiert Die virtuelle Maschine sendet jeden auszuführenden Bytecode an den Interpreter, übersetzt ihn in Maschinencode auf einer bestimmten Maschine und führt ihn dann auf der bestimmten Maschine aus. Sowohl der Compiler als auch der Interpreter sind tatsächlich Teil der JVM. Die Plattformunabhängigkeit von Java wird tatsächlich durch JVM erreicht, und Java-Programme müssen auch auf JVM ausgeführt werden.
Aber Golang kompiliert und generiert eine statische ausführbare Datei ohne andere externe Abhängigkeiten außer glibc.
Was genau ist Glibc?
Tatsächlich ist glibc die von GNU veröffentlichte libc-Bibliothek, die C-Laufzeitbibliothek. Glibc ist die API der untersten Ebene im Linux-System und fast jede andere laufende Bibliothek hängt von glibc ab. Das bedeutet auch, dass Docker auf Unix/Linux-Systemen tatsächlich ohne Golang laufen kann.
Warum hat sich Docker für die Verwendung von Golang für die Entwicklung entschieden?
Erstens nutzen unsere aktuellen Mainstream-Dienste alle Unix/Linux-Betriebssysteme, und wie bereits beschrieben, ist Golang nur sehr wenig von Dritten abhängig (nur glibc), was beides ist Einschränkung und ein Vorteil. Denn in diesem Fall kann der mit Golang entwickelte Docker grundsätzlich einwandfrei auf den meisten Servern laufen, auf denen Unix/Linux-Betriebssysteme installiert sind.
Empfohlene Tutorials: „Docker-Tutorial“, „PHP-Tutorial“
Das obige ist der detaillierte Inhalt vonWarum ist Docker in der Go-Sprache geschrieben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!