服务器之家

服务器之家 > 正文

Docker命令行与守护进程的交互方法

时间:2021-01-25 19:46     来源/作者:fundebug

为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。

docker并非单体应用,它由多个组件构成。这篇博客将介绍docker守护进程(daemon)与docker命令行(cli)。事实上,当我们在谈论安装或使用docker时,所指的其实就是docker守护进程与命令行。

docker架构图

Docker命令行与守护进程的交互方法

解释一下上图中的元素:

docker守护进程(docker daemon)是运行在你的操作系统上的一个服务。目前,它只能运行在linux上,因为它依赖于一些linux内核特性(比如cgroup与namespace)。 但是,也有一些特殊的办法让docker运行在macos与windows上(运行在linux虚拟机中)。

docker守护进程提供了rest api。许多工具(docker命令行,docker compose等)都可以通过rest api与docker守护进程进行交互,例如创建容器,构建镜像等。

docker命令行(docker cli)是与docker守护进程进行交互的主要工具。

docker是c/s架构

docker是client/server架构。其中docker守护进程是服务端,docker命令行是众多客户端之一。事实上,还有很多第三方的docker客户端。

对于各种流行的编程语言,它们都有对应的docker客户端。感兴趣的话,你也可以开发一个,使用rest api与docker守护进程进行交互就好了。

通过客户端,你可以管理docker的各种元素,包括镜像、容器、网络以及数据卷。对于docker感兴趣的话,你不妨看看 dive into docker course。

docker命令行与守护进程如何交互?

Docker命令行与守护进程的交互方法

从左至右理解上图:

最左侧是docker客户端,即docker命令行。我们可以运行各种docker命令,比如构建镜像(docker build),下载镜像(docker pull),运行容器(docker run)。docker命令行可以安装在各种操作系统上,例如windows,macos或者linux服务器。

中间是docker主机,docker守护进程运行在上面。docker命令行可以轻松地连接远程的docker主机(给定ip和端口即可)。而在macos与windows上"运行"docker时,docker守护进程事实上运行在linux虚拟机中。这里关键点在于,docker守护进程和命令行可以运行在不同的主机上。

最右侧是docker仓库,它也是docker生态系统中的一份子。它是我们下载、上传、存储以及分享docker镜像的地方。docker仓库的细节与本文无关,因此不再赘述。

译者按: docker是典型的c/s架构,其守护进程(daemon)与命令行(cli)是通过rest api进行交互的。

原文: understanding how the docker daemon and docker cli work together

译者: fundebug

原文链接:https://blog.fundebug.com/2017/05/22/docker-cli-daemon/

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
返回顶部