Docker est un moteur de conteneur avancé basé sur LXC et open source par le fournisseur PaaS dotCloud. Le code source est hébergé sur Github. Il est open source basé sur le langage Go et est conforme au protocole Apache2.0.
Bien que Docker soit écrit en Golang, il peut s'exécuter directement sans installer Golang. Il y a donc cette question : Pourquoi Docker n’a-t-il pas besoin d’installer Golang ?
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, et parfois d'autres outils open source doivent être installés. Le package tiers de Python
Prenons Java comme exemple. Le programme source Java est compilé par le compilateur et devient du bytecode. Le bytecode est interprété et exécuté par le virtuel. machine. La machine virtuelle traitera chaque bytecode à exécuter. L'interpréteur le traduira en code machine sur une machine spécifique, puis l'exécutera 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 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.
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 Golang s'appuie très peu sur des tiers (il ne s'appuie que sur la glibc). C'est à la fois 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.
Résumé
De nombreux langages de programmation présentent certaines limites et lacunes, mais nous devons choisir un langage de programmation en fonction de nos propres besoins, parfois dans des scénarios spécifiques. Choisir un un langage de programmation plus approprié peut apporter de plus grands avantages. Cela s’applique également au choix du framework. Il ne s’agit pas nécessairement du framework haut de gamme ou populaire dont tout le monde dit qu’il est bon, mais bien celui qui convient le mieux à votre entreprise.
Apprentissage recommandé : aller au tutoriel vidéo
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!