基于 Linux 的 Docker 容器无法在 Windows 上按预期运行

基于 Linux 的 Docker 容器无法在 Windows 上按预期运行

如果我运行 docker windows 容器,我可以运行 docker 命令,例如:

docker ps 

返回:

CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS   PORTS     NAMES

但是,如果我通过 Windows 上的 docker 桌面切换到 Linux 容器(这对于我需要构建的图像是必需的)并尝试相同的命令

docker ps 

它返回:

error during connect: This error may indicate that the docker daemon is not running.: Get "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/containers/json": open //./pipe/docker_engine: The system cannot find the file specified.

我努力了:

  • 将 docker 守护进程切换到 Windows(这无法解决我的问题,因为我需要运行前面提到的 Linux 守护进程。)
  • 单击 docker 桌面上的“重置为出厂默认设置”按钮
  • 在 docker Desktop 中激活“在 tcp://localhost:2375 上公开守护进程(无需 TLS)”选项
  • 退出然后重新登录我的 docker 账户
  • 通过系统托盘退出 docker 桌面,使用“wsl --shutdown”关闭 wsl,然后重新打开 docker 桌面(按此顺序)。
  • 卸载/重新安装 docker 桌面
  • 卸载/重新安装我的电脑上的 ubuntu 18.04 服务器。

附加信息:当我打开 docker Desktop 时主显示屏上出现的消息为:“Docker Desktop 无法停止......”

答案1

解决了取消注册 docker-desktop-data 发行版后的问题,该发行版被 docker-desktop 发行版用作容器镜像等的后备存储,以及取消注册 docker-desktop 发行版。

以管理员身份在 Powershell 中运行以下命令解决了该问题:

  • wsl --unregister docker-desktop
  • wsl --unregister docker-desktop-data

相关内容