Docker Machine (Mémorandum personnel)

Qu'est-ce que Docker Machine

Un outil qui peut être exécuté à partir de la ligne de commande, comme la création, le démarrage, l'arrêt et le redémarrage d'une machine virtuelle équipée de Docker Engine. Il est également possible de démarrer et de gérer un hôte Docker </ b> non seulement sur un PC local mais également sur un fournisseur de cloud distant.

Personnes utilisant Docker pour Mac, Docker Toolbox -Démarrez une machine virtuelle avec VirtualBox

Personnes utilisant Docker pour Windows -Démarrez une machine virtuelle avec Hyper-V

Comment créer un hôte Docker sur votre PC local à l'aide de Docker Machine

Télécharger Docker Machine

% 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
Usage: docker-machine [OPTIONS] COMMAND [arg...]

Create and manage machines running Docker.

Version: 0.16.0, build 702c267f

Author:
  Docker Machine Contributors - <https://github.com/docker/machine>

Options:
  --debug, -D                                                   Enable debug mode
  --storage-path, -s "/Users/torigoshikouki/.docker/machine"    Configures storage path [$MACHINE_STORAGE_PATH]
  --tls-ca-cert                                                 CA to verify remotes against [$MACHINE_TLS_CA_CERT]
  --tls-ca-key                                                  Private key to generate certificates [$MACHINE_TLS_CA_KEY]
  --tls-client-cert                                             Client cert to use for TLS [$MACHINE_TLS_CLIENT_CERT]
  --tls-client-key                                              Private key used in client TLS auth [$MACHINE_TLS_CLIENT_KEY]
  --github-api-token                                            Token to use for requests to the Github API [$MACHINE_GITHUB_API_TOKEN]
  --native-ssh                                                  Use the native (Go-based) SSH implementation. [$MACHINE_NATIVE_SSH]
  --bugsnag-api-token                                           BugSnag API token for crash reporting [$MACHINE_BUGSNAG_API_TOKEN]
  --help, -h                                                    show help
  --version, -v                                                 print the version
  
Commands:
  active                Print which machine is active
  config                Print the connection config for machine
  create                Create a machine
  env                   Display the commands to set up the environment for the Docker client
  inspect               Inspect information about a machine
  ip                    Get the IP address of a machine
  kill                  Kill a machine
  ls                    List machines
  provision             Re-provision existing machines
  regenerate-certs      Regenerate TLS Certificates for a machine
  restart               Restart a machine
  rm                    Remove a machine
  ssh                   Log into or run a command on a machine with SSH.
  scp                   Copy files between machines
  mount                 Mount or unmount a directory from a machine with SSHFS.
  start                 Start a machine
  status                Get the status of a machine
  stop                  Stop a machine
  upgrade               Upgrade a machine to the latest version of Docker
  url                   Get the URL of a machine
  version               Show the Docker Machine version or a machine docker version
  help                  Shows a list of commands or help for one command
  
Run 'docker-machine COMMAND --help' for more information on a command.

Ce qui précède s'affichera une fois le téléchargement terminé.

Afficher l'hôte Docker

-#Afficher l'hôte du docker
% docker-machine ls

Commande de création d'hôte Docker

-# % docker-machine create: nom d'hôte Docker de la virtualbox du pilote
% docker-machine create —driver virtualbox default
-#Afficher l'hôte du docker
% docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER      ERRORS
default   -        virtualbox   Running   tcp://192.168.99.100:2376           v19.03.12
  • Le pilote virtualbox utilise virtualbox par défaut, vous n'avez donc pas besoin de l'ajouter. Vous pouvez voir qu'un hôte docker appelé "par défaut" a été créé.

Comment se connecter à l'hôte Docker que vous avez créé

-# docker-nom d'hôte du docker d'env de la machine
% docker-machine env default
-#La commande de paramétrage pour le paramétrage de l'hôte docker à utiliser s'affiche.
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="/Users/Nom d'utilisateur/.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"
# Run this command to configure your shell: 
# eval $(docker-machine env default)

Si vous définissez la variable d'environnement de la partie d'exportation, la cible d'opération de la commande docker est définie sur l'hôte docker spécifié dans l'argument d'env. Cependant, comme décrit ci-dessous, il peut être exécuté collectivement en exécutant ** eval $ (docker-machine env default) **.

Vérification de l'actif de l'hôte docker

-#Afficher l'hôte du docker
% docker-machine ls
-#"*" Est attaché à ACTIVE, et vous pouvez vérifier quel hôte docker est ACTIF.
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER      ERRORS
default   *        virtualbox   Running   tcp://192.168.99.100:2376           v19.03.12


-#Docker exécute bonjour pour confirmation-Commencer dans le monde
% docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete 
Digest: sha256:7f0a9f93b4aa3022c3a4c147a449bf11e0941a1fd0bf4a8e6c9408b2600777c5
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

"Bonjour de Docker!" Cela signifie qu'il s'exécute sur ** l'hôte par défaut ** créé cette fois, et non sur la machine virtuelle telle que Docker Mac que j'utilise jusqu'à présent. Vous pouvez également ssh connecter à l'hôte avec ** docker-machine ssh **.

Connexion SSH à l'hôte Docker

-# % docker-nom d'hôte du docker ssh de la machine
% docker-machine ssh default
docker@default:~$ docker ps -a                                                                                                                                               
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
ab7af80f762d        hello-world         "/hello"            4 minutes ago       Exited (0) 4 minutes ago                       cranky_mccarthy

Vous pouvez maintenant voir que le conteneur s'est exécuté sur l'hôte docker. Retour au terminal d'origine avec sortie

Vérification de l'IP de l'hôte Docker

-# % docker-nom d'hôte du docker ip machine
% docker-machine ip default
192.168.99.100

Démarrez Nginx et vérifiez que la page Web est renvoyée en spécifiant l'adresse IP

-#Démarrer nginx
% docker run -d -p 8080:80 nginx

Après le démarrage, vérifiez à 192.168.99.100:8080. Il a été démarré lors de la création de l'hôte docker, mais si vous voulez le faire explicitement, utilisez ** docker-machine start ** ou ** docker-machine stop **.

Arrêter l'hôte Docker

-# % docker-nom d'hôte du docker d'arrêt de la machine
% docker-machine stop default
-#Afficher l'hôte du docker
% docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL   SWARM   DOCKER    ERRORS
default   -        virtualbox   Stopped                 Unknown

On peut voir que le STATE a changé en ** "Stopped" ** et est arrêté.

Démarrer l'hôte Docker

-# % docker-nom d'hôte du docker de démarrage de la machine
% docker-machine start default
-#Afficher l'hôte du docker
% docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER      ERRORS
default   *        virtualbox   Running   tcp://192.168.99.100:2376           v19.03.12

Vous pouvez voir que l'état est devenu ** "Running" ** et qu'il est en cours d'exécution.

Si l'hôte docker n'est pas spécifié dans l'argument, les commandes Env, stop et start fonctionneront automatiquement comme si le nom ** default ** était spécifié.

Désélectionner la machine docker ACTIVE

Il peut être annulé en supprimant la variable d'environnement définie par la commande d'environnement Docker-machine.

-# Docker-La commande de suppression de la variable d'environnement de la machine s'affiche.
% docker-machine env -u
unset DOCKER_TLS_VERIFY
unset DOCKER_HOST
unset DOCKER_CERT_PATH
unset DOCKER_MACHINE_NAME
# Run this command to configure your shell: 
# eval $(docker-machine env -u)
-#Eval as set$(docker-machine env -u)Vous pouvez tout annuler en même temps avec.
% eval $(docker-machine env -u)
-#Vue complète de l'hôte docker
% docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM   DOCKER      ERRORS
default   -        virtualbox   Running   tcp://192.168.99.100:2376           v19.03.12

Vous pouvez voir que ACTIVE devient ** "-" ** et est libéré.

Recommended Posts

Docker Machine (Mémorandum personnel)
Réseau Docker (mémorandum personnel)
Mémorandum Docker
Création d'un hôte Docker sur AWS à l'aide de Docker Machine (mémorandum personnel)
Mémorandum technique (Docker)
Commande de mémorandum docker
Mémorandum de commande Docker
Lancer un conteneur docker sur EC2 (mémorandum personnel)
Construire un pipeline CICD à l'aide de Docker (mémorandum personnel)
Mémo de commande Docker Machine
Gestion des données à l'aide du volume dans Docker (mémorandum personnel)
résumé personnel de la commande docker
Gestion des données à l'aide de Bindmount de Docker et de tmpfs (mémorandum personnel)
Construction d'un environnement d'analyse de données avec Docker (mémorandum personnel)
Qu'est-ce que Docker-compose (mémorandum personnel)
Comment utiliser le tableau (mémorandum personnel)
mémorandum
mémorandum
docker
Construction d'environnement de rails avec Docker (apocalypse personnelle)
[Personnel] Mémorandum JUnit5 (travail en cours)