我正在学习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
为什么会有几个“版本”命令,它们的输出都不同?
答案 0 :(得分:0)
请参见下图:
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
版本的核心部分。