Docker Machine

Docker Machine était un outil Docker des débuts pour créer et gérer des hôtes Docker, mais avec la maturation de Docker Desktop, Terraform et Kubernetes, il a rempli sa mission historique et a été complètement remplacé.

Docker Desktop dans les scénarios de développement localRemplacement completa remplacé Docker Machine, qui n'est plus adapté à un usage pratique.

Élément de comparaison Docker Machine Docker Desktop
Positionnement produit Outil de création et de gestion d'hôte Docker Environnement de développement Docker local intégré
Objectif principal Créer une VM et installer Docker Engine Exécuter Docker directement en local
Époque d'utilisation typique Docker au début (1.x ~ 18.x) Mainstream actuel
Prise en charge de macOS / Windows Indirect (dépend de VirtualBox) Prise en charge native
Si un logiciel de virtualisation supplémentaire est requis Oui (VirtualBox / VMware) Non (intégré)
Gestion de Docker Engine Manuel/semi-automatique Entièrement automatique
Complexité d'utilisation Élevée Faible
Présence d'une interface graphique non Oui
Prise en charge de Kubernetes Non pris en charge Intégré en option
Gestion multi-hôtes Docker Pris en charge Non pris en charge (centré sur une machine autonome)
Adapté aux environnements de production Non adapté Non adapté
Statut de maintenance officiel Pratiquement plus mis à jour Actif en continu
Recommandation actuelle ❌ Non recommandé ✅ Fortement recommandé

Introduction

Docker Machine est un outil qui vous permet d'installer Docker sur des hôtes virtuels, et vous pouvez utiliser la commande docker-machine pour gérer les hôtes.

Docker Machine peut également gérer centralement tous les hôtes Docker, par exemple en installant rapidement Docker sur 100 serveurs.

Les hôtes virtuels gérés par Docker Machine peuvent être sur site ou chez des fournisseurs cloud, tels qu'Alibaba Cloud, Tencent Cloud, AWS ou DigitalOcean.

À l'aide de la commande docker-machine, vous pouvez démarrer, inspecter, arrêter et redémarrer les hôtes gérés, ainsi que mettre à niveau le client et le démon Docker, et configurer le client Docker pour communiquer avec vos hôtes.


Installation

Avant d'installer Docker Machine, vous devez d'abord installer Docker.

Docker Machine peut être installé et utilisé sur plusieurs plateformes, notamment Linux, macOS et Windows.

Commande d'installation sous Linux

$ base=https://github.com/docker/machine/releases/download/v0.16.0 &&
  curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/tmp/docker-machine &&
  sudo mv /tmp/docker-machine /usr/local/bin/docker-machine &&
  chmod +x /usr/local/bin/docker-machine

Commande d'installation pour macOS

$ base=https://github.com/docker/machine/releases/download/v0.16.0 &&
  curl -L $base/docker-machine-$(uname -s)-$(uname -m) >/usr/local/bin/docker-machine &&
  chmod +x /usr/local/bin/docker-machine

Commande d'installation pour Windows

Si vous êtes sur la plateforme Windows, vous pouvez utiliserGit BASH, puis saisir la commande suivante :

$ base=https://github.com/docker/machine/releases/download/v0.16.0 &&
  mkdir -p "$HOME/bin" &&
  curl -L $base/docker-machine-Windows-x86_64.exe > "$HOME/bin/docker-machine.exe" &&
  chmod +x "$HOME/bin/docker-machine.exe"

Vérifiez si l'installation a réussi :

$ docker-machine version
docker-machine version 0.16.0, build 9371605

Remarque :Les notes de version pour chaque version contiennent également des instructions d'installation :https://github.com/docker/machine/releases


Utilisation

Ce chapitre présente l'utilisation de docker-machine via VirtualBox. Les opérations pour les autres fournisseurs de cloud sont globalement les mêmes. Pour plus de détails, consultez la documentation de chaque fournisseur.

1. Lister les machines disponibles

Vous pouvez voir qu'actuellement, il n'y a que la machine virtuelle par défaut ici.

$ docker-machine ls

2、Créer une machine

Créer une machine nommée test.

$ docker-machine create --driver virtualbox test
  • --driver: Spécifiez le type de pilote utilisé pour créer la machine, ici il s'agit de virtualbox.

3. Afficher l'adresse IP de la machine

$ docker-machine ip test

4、Arrêter la machine

$ docker-machine stop test

5、Démarrer la machine

$ docker-machine start test

6、Entrer dans la machine

$ docker-machine ssh test

Description des paramètres de la commande docker-machine

  • docker-machine active: Afficher l'hôte Docker actuellement actif.

    $ docker-machine ls
    
    NAME      ACTIVE   DRIVER         STATE     URL
    dev       -        virtualbox     Running   tcp://192.168.99.103:2376
    staging   *        digitalocean   Running   tcp://203.0.113.81:2376
    
    $ echo $DOCKER_HOST
    tcp://203.0.113.81:2376
    
    $ docker-machine active
    staging
  • config: Afficher les informations de connexion pour l'hôte Docker actuellement actif.
  • create: Créer un hôte Docker
  • env: Afficher les variables d'environnement nécessaires pour se connecter à un hôte.
  • inspect: Afficher les informations détaillées du Docker spécifié au format JSON.
  • ip: Obtenir l'adresse de l'hôte Docker spécifié.
  • kill: Tuer directement l'hôte Docker spécifié.
  • ls: Lister tous les hôtes gérés
  • provision: Reconfigurer l'hôte spécifié
  • regenerate-certs: Régénérer les informations TLS pour un hôte.
  • restart: Redémarrer l'hôte spécifié
  • rm: Supprimer un hôte Docker, et la machine virtuelle correspondante sera également supprimée.
  • ssh: Se connecter à l'hôte via SSH et exécuter des commandes.
  • scp: Utiliser scp pour copier des données à distance entre des hôtes Docker et entre un hôte Docker et l'hôte local
  • mount: Utiliser SSHFS pour monter ou démonter des répertoires depuis un ordinateur
  • start: Démarrer un hôte Docker spécifié. Si l'objet est une machine virtuelle, la machine virtuelle sera démarrée.
  • status: Obtenir l'état de l'hôte Docker spécifié (y compris : Running, Paused, Saved, Stopped, Stopping, Starting, Error), etc.
  • stop: Arrêter un hôte Docker spécifié.
  • upgrade: Mettre à jour la version Docker d'un hôte spécifié vers la dernière version
  • url: Obtenir l'URL d'écoute de l'hôte Docker spécifié.
  • version: Affiche la version de Docker Machine ou la version de Docker de l'hôte.
  • help: Affiche les informations d'aide
autres extensions