博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker命令行与守护进程如何交互?
阅读量:6810 次
发布时间:2019-06-26

本文共 1378 字,大约阅读时间需要 4 分钟。

译者按 Docker是典型的C/S架构,其守护进程(daemon)命令行(CLI)是通过REST API进行交互的。

原文:

译者:

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

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

Docker架构图

img_e068035e830f46bd07623f84458b1661.jpe
docker-architecture.jpg

解释一下上图中的元素:

  • ****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感兴趣的话,你不妨看看 。

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

img_5b70f0aacefc0be8da3bd23505f70d67.jpe
docker-interaction.jpg

从左至右理解上图:

  • 最左侧是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仓库的细节与本文无关,因此不再赘述。

版权声明:

转载时请注明作者以及本文地址:**
**

你可能感兴趣的文章
android变化HOLO对话风格
查看>>
windows 10 install oracle 12c error:[ INS-30131 ]
查看>>
用SWD调试接口测量代码运行时间 ( SWO )
查看>>
Oracle数据库的经典问题 snapshot too old是什么原因引起的
查看>>
EnumMap demo
查看>>
HDU 3153 Pencils from the 19th Century(数学)
查看>>
Redis3在CENTOS6上的安装配置
查看>>
于linux已安装moodle
查看>>
Ubuntu 14.04下NFS安装配置
查看>>
一个简单的图片切换效果
查看>>
Linux:文件解压与压缩
查看>>
CDOJ 1157 数列(seq) 分块+线段树
查看>>
linux 查看系统信息命令(比较全)
查看>>
[Bootstrap]modal弹出框
查看>>
14.7-2
查看>>
士兵杀敌(三)(线段树)
查看>>
类string的构造函数、拷贝构造函数和析构函数
查看>>
OC 消息机制本质
查看>>
3第一周课后练习·阅读计划(2)-使用指针来访问私有数据成员
查看>>
学习使用 SVG 创建材料设计涟漪(Ripple)效果
查看>>