Il est un peu tard, mais j'ai appris sur Docker à partir des bases, je vais donc le résumer. Les options détaillées de toutes les commandes ne sont pas résumées. Le but de cet article est de connaître un outil appelé Docker, qui est rudimentaire (mais important).
Docker est un "outil de construction d'environnement virtuel".
Un environnement virtuel est un espace temporaire (un lieu pour réaliser quelque chose) qui est créé artificiellement dans un ordinateur. Si vous mâchez un peu plus, c'est un environnement où vous pouvez déplacer ce dont vous avez besoin à l'origine physiquement comme s'il était virtuel.
Par exemple, dans un environnement Windows, un environnement de système d'exploitation Linux créé virtuellement ou un autre environnement de système d'exploitation Windows peut être préparé comme exemple d'environnement virtuel. En général, le système d'exploitation qui forme la base de la création d'un environnement virtuel est appelé «système d'exploitation hôte», et le système d'exploitation de l'environnement virtuel est appelé «système d'exploitation invité». En créant un environnement virtuel, il n'est plus nécessaire de préparer physiquement un ordinateur personnel pour Linux et un ordinateur personnel pour Windows, et il devient possible de gérer de manière centralisée avec un seul matériel. Il présente également l'avantage de pouvoir ajuster de manière flexible la capacité de la mémoire et du disque dur. Construire un environnement virtuel économise également du matériel matériel.
Il existe plusieurs types de machines virtuelles. Je vais expliquer brièvement les avantages et les inconvénients de chacun.
① Type d'hôte ② Type de visière hyper ③ Type de conteneur
Ce type installe un système d'exploitation hôte sur un ordinateur personnel ou un serveur, et installe et crée un logiciel de création d'environnement virtuel sur ce système d'exploitation. Le système d'exploitation invité est aligné sur le système d'exploitation hôte.
-Avantage: vous pouvez l'utiliser immédiatement en l'installant sur un serveur existant, et vous pouvez le démarrer facilement. -Inconvénient: le système d'exploitation hôte doit être démarré. Lorsque le matériel est démarré, le démarrage du système d'exploitation hôte peut prendre un certain temps.
Le type d'hyperviseur est un type qui construit la virtualisation en installant directement un logiciel de virtualisation appelé «hyperviseur» sur un seul matériel. Puisqu'il n'est pas nécessaire de démarrer le système d'exploitation hôte, il peut être démarré plus rapidement que le type de système d'exploitation hôte.
-Avantage: comme il n'y a pas de système d'exploitation hôte, la plupart des ressources peuvent être allouées à l'environnement virtuel. -Inconvénient: vous devez acheter du nouveau matériel sans réutiliser les PC et serveurs existants. Lors de la construction, vous devez également faire attention à l'aspect coût.
Un logiciel de virtualisation appelé «moteur de conteneur» est installé sur le système d'exploitation hôte, un environnement appelé conteneur y est créé et les applications sont exécutées. Les conteneurs n'ont pas le concept de système d'exploitation invité. Il est reconnu comme un processus par le système d'exploitation hôte. Par conséquent, aucune ressource supplémentaire n'est requise et un environnement léger peut être fourni. Lorsque vous l'utiliserez réellement, vous pourrez démarrer l'application dans un court laps de temps.
-Avantages: bonne efficacité des ressources et excellente performance des coûts. ・ Inconvénient: il y a peu de fournisseurs qui peuvent être construits car il s'agit d'une nouvelle technologie. Il manque des outils de gestion pratiques.
Comme mentionné ci-dessus, Docker est un "outil de construction d'environnement virtuel". Parmi eux, vous pouvez créer un environnement virtuel appelé "** container **" et exécuter des applications, des middlewares, des OS, etc. dans ce conteneur. L'un des avantages du conteneur est qu'il est extrêmement léger et peut être démarré et arrêté rapidement. Voyons comment fonctionne Docker.
Ici, nous approfondirons notre compréhension du fonctionnement de Docker, en fonction de termes que les débutants de Docker doivent garder à l'esprit.
・ Moteur Docker ・ Conteneur Docker ・ Image Docker
Le moteur Docker peut être compris comme «Docker lui-même». Il s'agit de la partie centrale de Docker qui crée des images Docker et démarre des conteneurs. Ce moteur Docker peut être facilement utilisé en installant Docker sur le système d'exploitation hôte (Windows, Mac, Linux). Après l'installation, il semble que le moteur Docker s'exécute sur le système d'exploitation hôte et que chaque conteneur s'exécute dessus.
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/623708/c6cdea87-5c94-5188-cbf6-b0112bcd0f1e.png ", width="500">
Voir l'image: https://www.ogis-ri.co.jp/otc/hiroba/technical/docker/part1.html
Un conteneur Docker est un environnement virtuel s'exécutant sur le moteur Docker. Avec le conteneur Docker, vous pouvez créer divers environnements, du système d'exploitation tel que CentOS et Ubuntu au middleware tel que Nginx et MySQL, et à des applications telles que Rails et Wordpress. Ces conteneurs ont la fonctionnalité «** s'exécutant à l'aide du noyau du système d'exploitation hôte (noyau Linux) **»! Un noyau Linux est un logiciel de base qui rassemble les fonctions de base requises pour un système d'exploitation.
La question ici est: "** Docker démarrera-t-il sur Windows et Mac sans Linux? **". La réponse se lève! La raison en est que la machine virtuelle Linux s'exécute derrière le démarrage de Docker, de sorte que chaque conteneur s'exécute également sur cette machine virtuelle.
De plus, cette machine virtuelle, Linux, n'est pas indépendante pour chaque conteneur, mais celle qui est commune à tous les conteneurs est utilisée, elle fonctionne donc tout en économisant les ressources (CPU et mémoire) de la machine hôte. Cela rend le conteneur lui-même plus léger, et surtout, la raison pour laquelle le conteneur Docker démarre plus rapidement **.
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/623708/2c9da8b1-609f-20e5-6484-84624142df97.png ", width="500">
Référence: https://kitsune.blog/docker-summary#Docker%25E3%2582%25B3%25E3%2583%25B3%25E3%2583%2586%25E3%2583%258A%25E3%2581%25A8%25E3%2581% 25AF
Une image Docker est comme un ** manuel ** pour créer un conteneur Docker. Un conteneur est créé sur la base de cette image Docker. Chaque image peut être créée comme une nouvelle image en superposant un "calque" sur l '"image de base" originale!
Voir l'image: https://dzone.com/articles/optimizing-spring-boot-application-for-dockerUn bref résumé de Docker et du fonctionnement de Docker. Même si je peux comprendre les grandes lignes de Docker, je pense que si je n'ai pas de connaissances de base sur Linux, je serai coincé avec les paramètres de l'environnement Docker, donc j'aimerais également étudier Linux.
Recommended Posts