Maison > Opération et maintenance > Docker > le corps du texte

Pourquoi Docker est-il écrit en langage Go ?

青灯夜游
Libérer: 2020-07-17 13:28:10
original
5324 Les gens l'ont consulté

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal