[DOCKER]

Was ist Docker Machine?

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

So erstellen Sie mit Docker Machine einen Docker-Host auf Ihrem lokalen PC

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-Host anzeigen
% docker-machine ls

Docker-Host-Erstellungsbefehl

-# % 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
  • Die Treiber-Virtualbox verwendet standardmäßig die Virtualbox, sodass Sie sie nicht hinzufügen müssen. Sie können sehen, dass ein Docker-Host mit dem Namen "default" erstellt wurde.

So stellen Sie eine Verbindung zu dem von Ihnen erstellten Docker-Host her

-# 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.

Überprüfen der ACTIVE des Docker-Hosts

-#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.

SSH-Verbindung zum Docker-Host

-# % 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

Überprüfen der IP des Docker-Hosts

-# % docker-Name des Computer-IP-Docker-Hosts
% docker-machine ip default
192.168.99.100

Starten Sie Nginx und überprüfen Sie, ob die Webseite zurückgegeben wird, indem Sie die IP angeben

-#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 **.

Stoppen Sie den Docker-Host

-# % 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.

Starten Sie den Docker-Host

-# % 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.

Deaktivieren Sie die Option ACTIVE Docker-Maschine

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