Опитвам се да използвам риба докер машина с докер клиент в черупката на рибата. мога да бягам docker-machine config dev
и това ще ми даде параметрите, на които да премина docker
, Но когато се опитах да направя това docker (docker-machine config dev) ps
щеше да каже flag provided but not defined: --tls --tlscacert
Ако превключвам черупката си към bash тогава docker $(docker-machine config dev) ps
работи добре. И така, какво не е наред със синтаксиса тук?
Опитах googling за отговора, изглежда, че грешката е свързана с Go, може би?
Docker версия 1.5.0, build a8a31ef
риба, версия 2.1.1
РЕДАКТИРАНЕ: Ето резултата от docker-machine config dev
--tls --tlscacert=/Users/me/.docker/machine/machines/dev/ca.pem --tlscert=/Users/me/.docker/machine/machines/dev/cert.pem --tlskey=/Users/me/.docker/machine/machines/dev/key.pem -H="tcp://192.168.99.102:2376"
Отговори:
3 за отговор № 1Ти се натъкваш този въпрос.
Краткият отговор е, че bash ще раздели допълнително подмяната на командите на отделни аргументи на всяко празно пространство, докато рибата ги разделя само с нови линии. От docker-machine config dev
не извежда нови редове, външните docker
Командата просто получава един гигантски аргумент с вградени пространства.
За да симулирате поведението на bash, можете да замените пространствата с нови редове:
docker (docker-machine config dev | tr -s " " n) ps
Това трябва да направи това, което очаквате.