Maison  >  Article  >  Opération et maintenance  >  Comment utiliser Docker pour réaliser une migration rapide et une gestion à distance des conteneurs sous Linux ?

Comment utiliser Docker pour réaliser une migration rapide et une gestion à distance des conteneurs sous Linux ?

WBOY
WBOYoriginal
2023-07-31 17:39:211274parcourir

Comment utiliser Docker pour réaliser une migration rapide et une gestion à distance des conteneurs sous Linux ?

Overview
Docker est une technologie de conteneurisation couramment utilisée qui permet un déploiement et une gestion rapides des applications. Dans l'environnement Linux, l'installation et l'utilisation de Docker sont relativement simples et peuvent être utilisées via la ligne de commande ou des outils visuels. Cet article explique comment utiliser Docker pour mettre en œuvre une migration rapide et une gestion à distance des conteneurs sous Linux, et fournit des exemples de code correspondants.

  1. Installation et configuration de Docker
    Tout d'abord, Docker doit être installé sur le système Linux. Dans la plupart des distributions Linux, il peut être installé via des gestionnaires de packages tels que apt, yum ou dnf. Voici un exemple de commande pour installer Docker sur un système Ubuntu :

    $ sudo apt-get update
    $ sudo apt-get install docker.io

    Une fois l'installation terminée, vous pouvez vérifier si Docker est correctement installé en utilisant la commande suivante :

    $ docker version
    #🎜 🎜#Ensuite, vous devez créer un groupe d'utilisateurs pour accéder à distance à Docker. Vous pouvez créer manuellement un groupe, puis ajouter des utilisateurs existants au groupe. Ensuite, vous devez vous reconnecter pour que les modifications du groupe d'utilisateurs prennent effet :

    $ sudo groupadd docker
    $ sudo usermod -aG docker $USER
    $ newgrp docker

    Enfin, vous devez redémarrer le service Docker pour que cela prenne effet :

    $ sudo systemctl restart docker

  2. Migration rapide des conteneurs
  3. La migration rapide des conteneurs Docker fait référence au processus de déplacement des conteneurs d'un hôte à un autre. Afin de réaliser une migration rapide des conteneurs, le conteneur doit être empaqueté dans une image, puis réexécuter l'image sur le nouvel hôte.
Tout d'abord, enregistrez l'état actuel du conteneur en tant que miroir sur l'hôte source :

$ docker commit <container_id> <image_name>

Où, a3f94dbaba3a4609eaf634c1155b4c45 est la source L'identifiant du conteneur exécuté sur l'hôte, ce03ab434069df82ad6c460dc73e6e7f est le nom de la nouvelle image.

a3f94dbaba3a4609eaf634c1155b4c45是源主机上正在运行的容器的标识符,ce03ab434069df82ad6c460dc73e6e7f是新镜像的名称。

然后,将镜像导出到文件中:

$ docker save <image_name> -o <output_file>

其中,ce03ab434069df82ad6c460dc73e6e7f是要导出的镜像的名称,b7b5b31f12e50fe5c07d3380f0f22872是导出的文件的路径。

接着,在目标主机上导入镜像文件:

$ docker load -i <input_file>

其中,36328e9190f67c1edfebd68673a16971是导入的镜像文件的路径。

最后,运行导入的镜像:

$ docker run -d <image_name>
  1. 容器的远程管理
    Docker提供了远程API,可以通过HTTP RESTful接口来管理容器和镜像。可以使用curl命令或者编写脚本来实现对Docker的远程管理。

首先,需要在Docker服务的配置文件中启用远程API。编辑/lib/systemd/system/docker.serviceEnsuite, exportez l'image vers un fichier :

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

Où, ce03ab434069df82ad6c460dc73e6e7f est le nom de l'image à exporter, b7b5b31f12e50fe5c07d3380f0f22872 est le chemin d'accès au fichier exporté.

Ensuite, importez le fichier image sur l'hôte cible :

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
    Parmi eux, 36328e9190f67c1edfebd68673a16971 est le chemin du fichier image importé .
  • Enfin, exécutez l'image importée :

    $ curl http://localhost:2375/version
    1. Gestion à distance des conteneurs
    2. Docker fournit une API distante accessible via Interface HTTP RESTful pour gérer les conteneurs et les images. Vous pouvez utiliser la commande curl ou écrire un script pour réaliser la gestion à distance de Docker.

    3. Tout d'abord, vous devez activer l'API distante dans le fichier de configuration du service Docker. Modifiez le fichier /lib/systemd/system/docker.service et remplacez la ligne ExecStart par la suivante :
    4. $ curl http://localhost:2375/containers/json

      Ensuite, rechargez et redémarrez le service Docker : #🎜🎜 #

      $ curl -X POST http://localhost:2375/containers/create?name=<container_name> -d '{"Image":"<image_name>"}'
      $ curl -X POST http://localhost:2375/containers/<container_id>/start

      Ensuite, vous pouvez utiliser la commande curl pour envoyer des requêtes HTTP afin de réaliser une gestion à distance de Docker. Voici quelques exemples de commandes curl couramment utilisées :
    5. Obtenez les informations de version du service Docker :
    6. $ curl -X POST http://localhost:2375/containers/<container_id>/stop
    7. #🎜 🎜#colonne Sur tous les conteneurs :

      $ curl -X DELETE http://localhost:2375/containers/<container_id>

    Démarrer un conteneur :

    import requests
    
    url = "http://localhost:2375/containers/json"
    response = requests.get(url)
    containers = response.json()
    for container in containers:
        print(container["Names"][0])

    Arrêter un conteneur :
    rrreee

    #🎜🎜##🎜🎜#Supprimer un conteneur : #🎜🎜#rrreee#🎜🎜##🎜🎜##🎜🎜#En plus de la commande curl, vous pouvez également utiliser la programmation langues pour accéder à distance à Docker. Voici un exemple de code utilisant Python : #🎜🎜#rrreee#🎜🎜#Ce code listera les noms de tous les conteneurs. #🎜🎜##🎜🎜#Résumé#🎜🎜# La mise en œuvre d'une migration rapide et d'une gestion à distance des conteneurs sous Linux via Docker peut grandement faciliter le travail du personnel de développement, d'exploitation et de maintenance. Les conteneurs peuvent être facilement migrés et gérés à distance en quelques étapes simples. J'espère que les exemples de code fournis dans cet article vous seront utiles, et si vous avez des questions ou des préoccupations, n'hésitez pas à les poser. #🎜🎜#

    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