编程知识 cdmana.com

Docker du point de vue du personnel d'exploitation et d'entretien

Du point de vue de l'exploitation et de l'entretien Docker Téléchargement d'images pour、Lancer un nouveau conteneur、Connectez - vous au nouveau conteneur、Exécuter la commande dans le conteneur,Et détruire les conteneurs.

Installation Docker Quand,Deux composantes principales sont impliquées:Docker Clients et Docker daemon(Parfois appelé“Serveur”Ou“Moteur”).

daemon C'est fait. Docker Moteur API.

Utiliser Linux Lors de l'installation par défaut,Clients et daemon La communication entre les deux est locale IPC/UNIX Socket Terminé(/var/run/docker.sock);In Windows En haut c'est par le nom npipe:./pipe/docker_engine Le tuyau de(pipe)Terminé.

Peut être utilisédocker versionCommande pour vérifier si le client et le serveur ont tous deux fonctionné avec succès,Et peut communiquer entre eux.

Si la réponse du client et du serveur peut être obtenue avec succès , Alors on peut passer à autre chose .

Si utilisé Linux Quand, Le serveur a renvoyé une réponse inattendue , Essayez d'ajouter sudo Par exemple::sudo docker version.

Si vous ajoutez sudo La commande fonctionne normalement après , Ensuite, vous devez ajouter l'utilisateur actuel à docker Groupes d'utilisateurs, Ou ajouter sudo Préfixe.


Miroir
Docker Un miroir peut être interprété comme une image qui contient OS Systèmes de fichiers et objets appliqués .

Si cela a été fait , Est considéré comme similaire au modèle de machine virtuelle . Un modèle de machine virtuelle est essentiellement une machine virtuelle en état d'arrêt .

In Docker Dans le monde, Le miroir est en fait équivalent à un conteneur qui ne fonctionne pas . Si vous êtes un développeur , Vous pouvez comparer un miroir à une classe (Class).

In Docker Fonctionnement sur l'hôtedocker image lsLes ordres.

Si l'environnement de commande d'exécution vient d'être terminé Docker Hôte installé ,Ou Play With Docker,Alors Docker Il ne devrait pas y avoir de miroir dans l'hôte .

In Docker L'opération pour obtenir un miroir sur l'hôte est appelée pull (pulling).Si vous utilisez Linux, Alors il va tirer ubuntu:latest Miroir;Si vous utilisez Windows,Il tire. microsoft/powershell:nanoserver Miroir.

Tirez la commande:docker image pull ubuntu:latest

Le miroir contient le système d'exploitation de base , Et le Code et les paquets de dépendances nécessaires au fonctionnement de l'application . Je viens de tirer ubuntu Le miroir a une version compacte de Ubuntu Linux Système de fichiers, Il contient des Parties Ubuntu Outils communs.

Et Windows Extrait de l'exemple microsoft/powershell Miroir, Qui contient PowerShell De Windows Nano Server Système d'exploitation.

Si vous tirez comme nginx Ou microsoft/iis Un tel conteneur d'application , On obtient une image miroir du système d'exploitation , Et l'exécution est incluse dans le miroir Nginx Ou IIS Code requis .

Ce qui est important,Docker Chaque miroir a son propre ID. L'utilisateur peut refléter par référence ID Ou un nom pour utiliser un miroir .

Si vous choisissez d'utiliser un miroir ID, Normalement, il suffit d'entrer ID Les premiers caractères sont ——Parce que ID Est le seul,Docker Savoir quel miroir spécifique l'utilisateur veut référencer .

 

Conteneur
Si vous avez déjà un miroir tiré localement ,Peut être utilisédocker container run Commande pour démarrer le conteneur à partir du miroir .

In Linux La commande pour démarrer le conteneur est la suivante .

$ docker container run -it ubuntu:latest /bin/bash

Regardez attentivement la sortie de la commande ci - dessus , Notez que l'invite a changé dans chaque instance .C'est parce que -it Le paramètre va Shell Passer au terminal du conteneur —— Déjà à l'intérieur du conteneur !

Analyse suivante docker container run Les ordres.docker container run Dis - le. Docker daemon Démarrer un nouveau conteneur .Parmi eux -it Les paramètres indiquent Docker Active le mode d'interaction du conteneur et active Shell Connexion au terminal du conteneur .Et puis...,Ordre. Docker, L'utilisateur veut se baser sur ubuntu:latest Conteneur de démarrage miroir(Si l'utilisateur utilise Windows,Est basé sur microsoft/powershell:nanoserver Miroir).Enfin,Ordre. Docker, Quel processus l'utilisateur veut exécuter à l'intérieur du conteneur .Pour Linux Par exemple, l'exécution Bash Shell,Pour Windows Par exemple, l'exécution PowerShell.

Fonctionnement à l'intérieur du conteneur ps Commande pour voir tous les processus en cours d'exécution .

Linux Le conteneur ne contient que deux processus .

    PID 1:Représentant /bin/bash Processus, Le processus passe par docker container run Commande pour informer le conteneur de l'exécution .
    PID 9:Représentant ps -elf Processus, Voir les commandes utilisées par le processus en cours d'exécution /Procédure.

Montré dans la sortie de commande ps -elf Le processus est quelque peu trompeur , Parce que ce programme est ps C'est fini après la sortie de la commande . Cela signifie que les processus à long terme dans le conteneur ne sont en fait que /bin/bash.

Appuyez. Ctrl-PQ Combinaison de clés, Vous pouvez quitter le conteneur tout en maintenant le conteneur en marche .Voilà. Shell Et revenir à Docker Terminal hôte .Peut être visualisé en Shell Invite à confirmer .

Retour à Docker L'hôte Shell L'invite,Encore une fois.psLes ordres.

Utilisez ceci à l'intérieur du conteneur pour quitter le conteneur actuel , Mais ne tue pas le processus du conteneur .

Peut passerdocker container ls Commande pour voir tous les conteneurs en état de fonctionnement dans le système .

La sortie ci - dessus ne montre qu'un seul conteneur en cours d'exécution . C'est le conteneur créé dans l'exemple précédent . Le conteneur est présent dans la sortie , Il est prouvé que le conteneur fonctionne toujours après la sortie . Vous pouvez voir que ce processus est 6min Créé précédemment, Et ça continue .

Connexion au conteneur en cours d'exécution

Mise en œuvredocker container execLes ordres,Vous pouvez Shell Connectez - vous à un terminal de conteneur en cours d'exécution . Parce que le conteneur dans l'exemple précédent est toujours en cours d'exécution , L'exemple suivant crée donc une nouvelle connexion au conteneur .

Dans l'exemple,Local Shell La connexion au conteneur passe par -it Paramètre implémenté. Dans cet exemple, utilisez le nom pour faire référence au conteneur ,Et dis Docker Exécution Bash Shell(In Windows Par exemple: PowerShell).

Utiliser Hex ID Il est également facile de se référer à des conteneurs spécifiques .

Réutiliser Ctrl-PQ Clé combinée pour quitter le conteneur .

Shell L'invite doit être retournée à Docker Dans l'hôte.

Encore une fois.docker container ls Commande pour confirmer que le conteneur est toujours en cours d'exécution .

Adoptiondocker container stopEtdocker container rm Commande d'arrêter et de tuer le conteneur . N'oubliez pas de mettre le nom dans l'exemple /ID Remplacer par le nom du contenant et ID. 

En cours d'exécutiondocker container lsLes ordres,Et préciser -a Paramètre pour confirmer que le conteneur a été supprimé avec succès .Ajouter -a Le rôle de Docker Liste de tous les contenants, Même ceux qui sont en état d'arrêt .

 

版权声明
本文为[Petit, York?]所创,转载请带上原文链接,感谢
https://cdmana.com/2022/01/202201080556241520.html

Scroll to Top