kubernetes/minikube

minikube docker-env doesn't understand powershell core

開放

#9,183 建立於 2020年9月3日

 (15 則留言) (0 個反應) (0 位負責人)Go (5,222 個分叉)batch import
cause/libmachine-bughelp wantedkind/buglifecycle/frozenos/windowspriority/backlog

倉庫指標

星標
 (31,799 顆星)
PR 合併指標
 (平均合併 12天 19小時) (30 天內合併 43 個 PR)

描述

Steps to reproduce the issue:

  1. Install PowerShell core (https://github.com/PowerShell/PowerShell/releases)
  2. Run powershell core (pwsh.exe)
  3. minikube start ...
  4. minikube docker-env

Full output of failed command:

❯ minikube docker-env
You can further specify your shell with either 'cmd' or 'powershell' with the --shell flag.

SET DOCKER_TLS_VERIFY=1
SET DOCKER_HOST=tcp://192.168.184.153:2376
SET DOCKER_CERT_PATH=C:\Users\Me\.minikube\certs
SET MINIKUBE_ACTIVE_DOCKERD=minikube
REM To point your shell to minikube's docker-daemon, run:
REM @FOR /f "tokens=*" %i IN ('minikube -p minikube docker-env') DO @%i

Expected output

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

Note how passing in --shell powershell yielded the correct results, but using the default auto-detect did not detect powershell.

Note: running on regular powershell works just fine. This issue only affects powershell core.

貢獻者指南