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
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 du docker
% docker-machine ls
-# % 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
-# 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) **.
-#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 **.
-# % 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
-# % docker-nom d'hôte du docker ip machine
% docker-machine ip default
192.168.99.100
-#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 **.
-# % 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é.
-# % 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é.
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