需要帮助将docker客户端指向在我的笔记本电脑上运行的docker守护程序吗

需要帮助将docker客户端指向在我的笔记本电脑上运行的docker守护程序吗,docker,minikube,Docker,Minikube,我在我的Macbook上运行minikube。为了在minikube VM中构建Dockerfile,我使用下面的命令将我的docker客户端指向minukube的docker守护进程 估价$minikube docker环境 我能够成功地在minikube上创建映像,当我的工作完成时,我停止了minikube 现在,当我试图运行命令docker映像时,我发现下面的错误 无法连接到位于tcp://:的Docker守护程序。docker守护进程正在运行吗 如果有人能帮我解决这个问题,我将不胜感激

我在我的Macbook上运行minikube。为了在minikube VM中构建Dockerfile,我使用下面的命令将我的docker客户端指向minukube的docker守护进程

估价$minikube docker环境

我能够成功地在minikube上创建映像,当我的工作完成时,我停止了minikube

现在,当我试图运行命令docker映像时,我发现下面的错误

无法连接到位于tcp://:的Docker守护程序。docker守护进程正在运行吗

如果有人能帮我解决这个问题,我将不胜感激


注意:我想它只会持续到终端的当前会话。但是仍然想知道,如果您查看docker env命令上的Minikube文档,或者使用-help标志运行命令,是否有更好的方法关闭终端的当前会话

$ minikube docker-env --help
Sets up docker env variables; similar to '$(docker-machine env)'.

Options:
      --no-proxy=false: Add machine IP to NO_PROXY environment variable
      --shell='': Force environment to be configured for a specified shell: [fish, cmd, powershell, tcsh, bash, zsh],
default is auto-detect
  -u, --unset=false: Unset variables instead of setting them

Usage:
  minikube docker-env [flags] [options]

Use "minikube docker-env options" for a list of global command-line options (applies to all commands).
您将注意到-unset标志

尝试运行:

$ eval $(minikube docker-env --unset)

Docker for Mac不使用与守护进程的tcp连接,而是使用socket/var/run/Docker.sock进行连接;检查shell中是否没有设置DOCKER_HOST环境变量来覆盖默认连接

minikube似乎通过设置这三个变量来覆盖默认的docker设置

DOCKER_HOST=
DOCKER_TLS_VERIFY=1
DOCKER_CERT_PATH=/some/certs

请取消设置这些和停止的minikube停止和那个,mac的docker将开始工作

eval "$(docker-machine env -u)"
它将取消DOCKER_*变量的设置

作为记录,这里是docker machine env-u的输出:


您可以在此处找到更多信息:,。

谢谢您的帮助!这正是我想要的:这个对我来说也很有用。非常感谢你的帮助!非常感谢!你能接受并投票给这个答案,让它在未来的社区中更显眼吗?我投票了,但因为我只有不到15个徽章,所以不显眼
unset DOCKER_TLS_VERIFY
unset DOCKER_HOST
unset DOCKER_CERT_PATH
unset DOCKER_MACHINE_NAME