docker команда не работает в PowerShell (Windows 10 Home)? - PullRequest
0 голосов
/ 10 апреля 2020

Ну, Я пытаюсь установить миникуб в P C с Windows 10 Home .

Я изучаю этот урок:

https://learnk8s.io/blog/installing-docker-and-kubernetes-on-windows

Я нахожусь на шаге, где я должен выполнить следующую команду в PowerShell:

@FOR /f "tokens=*" %i IN ('minikube docker-env') DO @%i

Я получил эту ошибку:

En línea: 1 Carácter: 7
+ @FOR /f "tokens=*" %i IN ('minikube docker-env') DO @%i
+       ~
Debe proporcionar una expresión de valor después del operador '/'.
En línea: 1 Carácter: 7
+ @FOR /f "tokens=*" %i IN ('minikube docker-env') DO @%i
+       ~
Token 'f' inesperado en la expresión o la instrucción.
En línea: 1 Carácter: 53
+ @FOR /f "tokens=*" %i IN ('minikube docker-env') DO @%i
+                                                     ~
Token no reconocido en el texto de origen.
En línea: 1 Carácter: 1
+ @FOR /f "tokens=*" %i IN ('minikube docker-env') DO @%i
+ ~~~~
El operador de expansión '@' no se puede usar para hacer referencia a variables en una expresión. '@FOR' solamente se
puede usar como argumento para un comando. Para hacer referencia a variables en una expresión, use '$FOR'.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : ExpectedValueExpression

Итак, я решил продолжить учебник, используя cmd. Наконец, я смог закончить учебник.

Я думал, что первая команда последовательности не удалась в PowerShell из-за проблемы, связанной с синтаксисом. Но я не понимаю, почему команда docker ps не срабатывает в PowerShell. В PowerShell появляется следующая ошибка:

error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.40/containers/json: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.

Я хотел бы знать, почему в моем окне PowerShell не работает команда docker?

PD: я открываю PowerShell с правами администратора.

ОБНОВЛЕНИЕ 1

По предложению @ BACON я выполняю эту последовательность команд:

@FOR /f "tokens=*" %i IN ('minikube docker-env') DO %i

Но я получаю ошибку:

enter image description here

ОБНОВЛЕНИЕ 2

Как сказали пользователи в комментариях. Команды, упомянутые в руководстве для запуска мини-куба, работают в cmd, а не в PowerShell. Если мы учли это, учебное пособие может быть успешно завершено.

1 Ответ

1 голос
/ 17 апреля 2020

Что ж, я решил мою проблему с запуском команд в cmd, а не в PowerShell.

Команда для запуска docker в Windows работает в cmd (Windows 10 Home Edition):

@FOR /f "tokens=*" %i IN ('minikube docker-env') DO %i

Если вы хотите запустить docker в Power Shell, вы должны выполнить эту команду:

minikube -p minikube docker-env | Invoke-Expression

В моем случае, когда я выполнил команду minikube docker-env:

$Env:DOCKER_TLS_VERIFY = "1"
$Env:DOCKER_HOST = "tcp://192.168.99.101:2376"
$Env:DOCKER_CERT_PATH = "C:\Users\Cesar\.minikube\certs"
$Env:MINIKUBE_ACTIVE_DOCKERD = "minikube"
# To point your shell to minikube's docker-daemon, run:
# & minikube -p minikube docker-env | Invoke-Expression

PD: я использую миникуб

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...