Pourquoi Docker a-t-il choisi d'utiliser Golang pour le développement ?
Tout d'abord, nos services grand public actuels utilisent tous des systèmes d'exploitation Unix/Linux, et comme décrit précédemment, Golang dépend très peu de tiers (dépend uniquement de la glibc) , ce qui est à la fois une limitation et un avantage. (Apprentissage recommandé : go)
Parce que de cette manière, Docker développé avec Golang peut fondamentalement fonctionner parfaitement sur la plupart des serveurs installés avec des systèmes d'exploitation Unix/Linux.
Pourquoi Docker ne nécessite-t-il pas l'installation de Golang ?
La question de savoir pourquoi Docker ne nécessite pas l'installation de Golang est parce que je suis un développeur Java en arrière-plan et que certains outils open source développés en Python sont utilisés sur Ubuntu, et que les outils open source Java et Python require Installez l'environnement d'exploitation correspondant :
Java nécessite au moins l'installation de JRE, et parfois JDK est également installé pour plus de commodité
Python nécessite au moins l'installation de l'environnement de développement Python. Parfois ouvert. Les outils sources doivent également installer d'autres packages Python.
Prenons Java comme exemple. Le programme source Java est compilé par un compilateur et devient du bytecode qui est interprété et exécuté par la machine virtuelle. la machine virtuelle envoie chaque bytecode à exécuter à L'interpréteur le traduit en code machine sur une machine spécifique, puis l'exécute sur la machine spécifique.
Le compilateur et l'interpréteur font en fait partie de la JVM. L'indépendance de la plate-forme Java est en fait assurée par JVM, et les programmes Java doivent également s'exécuter sur JVM.
Mais Golang compile et génère un fichier exécutable statique sans autre dépendance externe que la glibc.
Alors, qu'est-ce que la glibc exactement ?
En fait, la glibc est la bibliothèque libc publiée par GNU, qui est la bibliothèque d'exécution c. La Glibc est l'API de niveau le plus bas du système Linux, et presque toutes les autres bibliothèques en cours d'exécution dépendent de la glibc. Cela signifie également que Docker peut réellement fonctionner sans Golang sur les systèmes Unix/Linux.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!