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

时间:2019-03-24 22:29:22

标签: docker

我正在学习Docker,并且已经安装了Docker for Windows。我对两个命令行程序感到困惑,一个是docker.exe(完整路径:C:\ Program Files \ Docker \ Docker \ Resources \ bin \ docker.exe),另一个是DockerCli.exe(完整路径:c:\程序文件\ 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

为什么会有几个“版本”命令,它们的输出都不同?

1 个答案:

答案 0 :(得分: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版本的核心部分。