kubernetes/minikube

minikube docker-env doesn't understand powershell core

Open

#9,183 opened on Sep 3, 2020

View on GitHub
 (15 comments) (0 reactions) (0 assignees)Go (31,799 stars) (5,222 forks)batch import
cause/libmachine-bughelp wantedkind/buglifecycle/frozenos/windowspriority/backlog

Description

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.

Contributor guide