为什么 `eval $(minikube docker-env)`(设置 docker env vars)在 npm 脚本中不起作用

Jie*_*eng 5 bash node.js npm docker kubernetes

我尝试这样做eval $(minikube docker-env)(启用使用本地 docker for minikube)。但注意到它实际上不起作用。

$ npm run kube:docker

> eval $(minikube docker-env)
Run Code Online (Sandbox Code Playgroud)

但是 docker 图像显示的是我自己的 docker 图像

REPOSITORY                                                                    TAG                 IMAGE ID            CREATED             SIZE
node                                                                          12-alpine           80a733d0cd8c        6 days ago          77.3MB
...
Run Code Online (Sandbox Code Playgroud)

但是在 npm 脚本之外运行时:

$ eval $(minikube docker-env)

$ docker images
REPOSITORY                                TAG                 IMAGE ID            CREATED             SIZE
k8s.gcr.io/kube-proxy                     v1.14.0             5cd54e388aba        5 weeks ago         82.1MB
k8s.gcr.io/kube-apiserver                 v1.14.0             ecf910f40d6e        5 weeks ago         210MB
k8s.gcr.io/kube-scheduler                 v1.14.0             00638a24688b        5 weeks ago         81.6MB
Run Code Online (Sandbox Code Playgroud)

结果是正确的,我确实按预期看到了我的 kubernetes 图像。这是为什么?