Maison  >  Article  >  Opération et maintenance  >  Pourquoi Docker est-il écrit en langage Go ?

Pourquoi Docker est-il écrit en langage Go ?

青灯夜游
青灯夜游original
2020-07-17 13:28:105229parcourir

Tout d'abord, nos services grand public actuels utilisent tous des systèmes d'exploitation Unix/Linux, et Golang s'appuie très peu sur des tiers. C'est à la fois une limitation et un avantage. Dans ce cas, Docker développé avec Golang peut fonctionner parfaitement sur la plupart des serveurs installés avec les systèmes d'exploitation Unix/Linux.

Pourquoi Docker est-il écrit en langage Go ?

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 réalité partie de la JVM. L'indépendance de la plate-forme Java est en fait obtenue 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.

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 (uniquement la glibc), ce qui est à la fois un une limitation et un avantage. Car dans ce cas, Docker développé avec Golang peut fonctionner parfaitement sur la plupart des serveurs installés avec les systèmes d'exploitation Unix/Linux.

Tutoriels recommandés : "Tutoriel Docker", "Tutoriel PHP"

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn