Ein Tool, das über die Befehlszeile ausgeführt werden kann, z. B. das Erstellen, Starten, Stoppen und Neustarten einer mit Docker Engine ausgestatteten virtuellen Maschine. Es ist auch möglich, einen Docker-Host </ b> nicht nur auf einem lokalen PC, sondern auch auf einem Remote-Cloud-Anbieter zu starten und zu verwalten.
Benutzer von Docker für Mac, Docker Toolbox -Starten Sie eine virtuelle Maschine mit VirtualBox
Benutzer von Docker für Windows -Starten Sie eine virtuelle Maschine mit Hyper-V
Laden Sie Docker Machine herunter
% 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.
Das Obige wird angezeigt, wenn der Download abgeschlossen ist.
-#Docker-Host anzeigen
% docker-machine ls
-# % docker-machine create - Treiber Virtualbox Docker-Hostname
% docker-machine create —driver virtualbox default
-#Docker-Host anzeigen
% docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default - virtualbox Running tcp://192.168.99.100:2376 v19.03.12
-# docker-Name des Host-Hosts der Maschine env
% docker-machine env default
-#Der Einstellungsbefehl zum Einstellen auf den zu bedienenden Docker-Host wird angezeigt.
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="/Users/Nutzername/.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"
# Run this command to configure your shell:
# eval $(docker-machine env default)
Wenn Sie die Umgebungsvariable des Exportteils festlegen, wird das Operationsziel des Docker-Befehls auf den Docker-Host festgelegt, der im Argument von env angegeben ist. Wie unten beschrieben, kann es jedoch gemeinsam ausgeführt werden, indem ** eval $ (Docker-Maschine env default) ** ausgeführt wird.
-#Docker-Host anzeigen
% docker-machine ls
-#"*" Ist an ACTIVE angehängt und Sie können überprüfen, welcher Docker-Host ACTIVE ist.
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default * virtualbox Running tcp://192.168.99.100:2376 v19.03.12
-#Docker führt Hallo zur Bestätigung aus-Starten Sie in der Welt
% 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/
"Hallo von Docker!" Dies bedeutet, dass es auf dem ** Standardhost ** ausgeführt wird, der dieses Mal erstellt wurde, nicht auf der virtuellen Maschine wie Docker Mac, die ich bisher verwendet habe. Sie können sich auch mit ** docker-machine ssh ** mit dem Host verbinden.
-# % docker-Name des Computer-SSH-Docker-Hosts
% 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
Jetzt können Sie sehen, dass der Container auf dem Docker-Host ausgeführt wurde. Kehren Sie mit dem Ausgang zum ursprünglichen Terminal zurück
-# % docker-Name des Computer-IP-Docker-Hosts
% docker-machine ip default
192.168.99.100
-#Starten Sie nginx
% docker run -d -p 8080:80 nginx
Überprüfen Sie nach dem Start unter 192.168.99.100:8080. Es wurde gestartet, als der Docker-Host erstellt wurde. Wenn Sie dies jedoch explizit tun möchten, verwenden Sie ** Docker-Maschine-Start ** oder ** Docker-Maschine-Stopp **.
-# % docker-Maschinenstopp Docker Hostname
% docker-machine stop default
-#Docker-Host anzeigen
% docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default - virtualbox Stopped Unknown
Es ist ersichtlich, dass sich der STAAT in ** "Gestoppt" ** geändert hat und gestoppt ist.
-# % docker-Maschinenstart Docker Hostname
% docker-machine start default
-#Docker-Host anzeigen
% docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default * virtualbox Running tcp://192.168.99.100:2376 v19.03.12
Sie können sehen, dass der STATE in ** "Running" ** geändert wurde und ausgeführt wird.
Wenn der Docker-Host in den Argumenten nicht angegeben ist, funktionieren die Befehle Env, stop und start automatisch so, als ob der Name ** default ** angegeben wurde.
Sie kann abgebrochen werden, indem die mit dem Befehl Docker-machine env festgelegte Umgebungsvariable gelöscht wird.
-# Docker-Der Befehl zum Löschen der Umgebungsvariablen des Computers wird angezeigt.
% 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 wie eingestellt$(docker-machine env -u)Sie können alle auf einmal mit abbrechen.
% eval $(docker-machine env -u)
-#Vollständige Ansicht des Docker-Hosts
% docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default - virtualbox Running tcp://192.168.99.100:2376 v19.03.12
Sie können sehen, dass ACTIVE ** "-" ** wird und freigegeben wird.
Recommended Posts