Machine: docker-machine env ist langsam

Erstellt am 19. Sept. 2015  ·  5Kommentare  ·  Quelle: docker/machine

Ich konnte kein offenes Ticket zu diesem Problem finden, aber ich denke, ich bin nicht der einzige mit diesem Problem?

$ uname -a
Darwin 14.5.0 Darwin 
Kernel Version 14.5.0: Wed Jul 29 02:26:53 PDT 2015; 
root:xnu-2782.40.9~1/RELEASE_X86_64 x86_64
$ time docker-machine env dev >/dev/null

real    0m0.254s
user    0m0.217s

.. also macht es keinen Spaß, eval $(docker-machine env dev) in .bash_profile zu haben.

Problemumgehung 1: Hartcodieren der Exporte

$ docker-machine env dev >> ~/.bash_profile

Problemumgehung 2: Sehr schmutziger Lazy-Loading-Fix

# Lazy load docker-machine env on first docker run
alias docker='docker-machine start dev>/dev/null && eval $(docker-machine env dev) && unalias docker && docker'

Hilfreichster Kommentar

Ich landete damit, es läuft in 0.040 für mich.

: ${DOCKER_MACHINE_NAME="my_vm_name"}

docker-machine inspect ${DOCKER_MACHINE_NAME} --format \
"export DOCKER_HOST=tcp://{{ .Driver.IPAddress }}:2376
export DOCKER_TLS_VERIFY=1
export DOCKER_CERT_PATH={{ .HostOptions.AuthOptions.StorePath }}
export DOCKER_MACHINE_NAME=${DOCKER_MACHINE_NAME}"

Alle 5 Kommentare

Es ist schwieriger als es aussieht, es schnell zu machen, da Sie tatsächlich die IP-Adresse der fraglichen VM nachschlagen müssen (und Zertifikate neu generieren müssen, wenn sie ungültig gemacht wurden). Wenn Sie bereit sind, den Kompromiss der Konsistenz zu akzeptieren, können Sie möglicherweise Ihre eigene Version erstellen, indem Sie die von inspect "zwischengespeicherten" Werte verwenden, aber ich kann nicht garantieren, dass dies für immer funktioniert.

Ich werde dies schließen, da mir keine Möglichkeit einfällt, die aktuelle Methode zu verbessern, ohne die Konsistenz zu beeinträchtigen, aber Sie können gerne ein neues Problem mit Vorschlägen zur Verbesserung der Methode öffnen, z. B. docker-machine env --cached dev "gecachte" Werte zu verwenden.

Ich kenne mich mit Docker-Maschine nicht so gut aus, daher ist es schwierig, einen Vorschlag zu machen. Ich wollte das Problem nur melden, damit es besprochen werden kann :)

Ich verwende übrigens den vmwarefusion-Treiber.

Danke für die Berichterstattung und zur Kenntnis genommen!

Ich landete damit, es läuft in 0.040 für mich.

: ${DOCKER_MACHINE_NAME="my_vm_name"}

docker-machine inspect ${DOCKER_MACHINE_NAME} --format \
"export DOCKER_HOST=tcp://{{ .Driver.IPAddress }}:2376
export DOCKER_TLS_VERIFY=1
export DOCKER_CERT_PATH={{ .HostOptions.AuthOptions.StorePath }}
export DOCKER_MACHINE_NAME=${DOCKER_MACHINE_NAME}"
War diese Seite hilfreich?
0 / 5 - 0 Bewertungen