Docker客户端仅提供CLI,它只是一个HTTP API包装器,类似于AWS CLI。
Docker守护程序是整个操作的核心,类似于AWS本身。当您使用docker run
命令启动容器时,您的Docker客户端将将该命令转换为HTTP API调用,并将其发送到Docker守护程序,Docker守护程序然后评估请求,与底层操作系统进行交互并设置您的容器。
请注意,Docker CLI可以连接到远程Docker守护程序,并且您可以配置您的Docker守护程序以使用TCP IP。
我心中的问题是,团队合作的首选方式是什么?每个开发者各自拥有一个守护程序,还是整个团队共享一个独立服务器上的守护程序,并由每个开发者运行客户端?
这取决于您,但大多数情况下,开发人员都有一个本地Docker守护程序和客户端,使用Dockerfiles构建镜像。如果他们需要共享Docker映像,则可以提供本地Docker注册表或使用公共注册表。通过利用Docker,您可以在开发者的处置下获得完全相同的开发环境。此开发环境将类似于生产环境。
Docker守护程序安装在主机上,本质上充当Docker的大脑;它代表您创建和管理Docker镜像。它的整个目的是执行客户端发出的命令。
例如,如果您为特定容器发出Docker stop命令,则守护程序将继续查找容器并停止它。
此外,每当您的容器需要访问操作系统级别的网络端口、存储卷或任何其他组件时,Docker守护程序都会提供。