在Windows的Docker桌面版中,docker.exe和dockercli.exe有什么区别?

6
我正在学习有关Docker的内容,已经安装了Windows版的Docker。我对拥有两个命令行程序感到困惑,一个是docker.exe(完整路径:C:\Program Files\Docker\Docker\Resources\bin\docker.exe),另一个是DockerCli.exe(完整路径:c:\Program Files\Docker\Docker\DockerCli.exe)。
为什么会有两个Docker命令行接口?此外,我可以调用多个“版本”命令。当我运行docker version时,我得到以下输出:
c:\Program Files\Docker\Docker>docker version
Client: Docker Engine - Community
 Version:           18.09.2
 API version:       1.39
 Go version:        go1.10.8
 Git commit:        6247962
 Built:             Sun Feb 10 04:12:31 2019
 OS/Arch:           windows/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.2
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.6
  Git commit:       6247962
  Built:            Sun Feb 10 04:13:06 2019
  OS/Arch:          linux/amd64
  Experimental:     false

当我运行 docker -v 命令时,这与之前的输出不同:

c:\Program Files\Docker\Docker>docker -v
Docker version 18.09.2, build 6247962

最后,当我运行dockercli -Version时,我得到:

c:\Program Files\Docker\Docker>DockerCli.exe -Version

Docker Desktop
Version: 2.0.0.3 (31259)
Channel: stable
Sha1: 8858db33c8692b69de9987a5d672798d778735b2
OS Name: Windows 10 Pro
Windows Edition: Professional
Windows Build Number: 16299

为什么有几个不同的“version”命令,输出各不相同?
1个回答

0

请参见下图:

enter image description here

Docker项目有上游项目,也有下游产品。任何人或公司都可以基于核心部分开发自己的产品。
因此,微软与Docker公司一起在Windows 10上开发了他们的下游产品,称为“Docker for Windows”,它将使用“Docker CE”作为核心部分。
简而言之:
docker.exe:提供给用户与Docker引擎通信的Docker客户端。您可以使用它执行docker pull、docker run等docker操作。
dockercli.exe:Docker为Windows提供的工具,用于用户与Docker for Windows通信。您可以使用它切换到linux-container-mode/windows-container-mode等模式。
附加信息:
docker -v显示的是核心部分即“Docker CE”的版本,而dockercli.exe -Version则显示的是“Docker for Windows”的版本。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接