2、Docker基本组成
Docker 使用客户端-服务器 (C/S) 架构模式。Docker 客户端会与 Docker 守护进程进行通信。Docker 守护进程会处理复杂繁重的任务,例如建立、运行、发布Docker 容器。Docker 客户端和守护进程可以运行在同一个系统上,当然也可以使用 Docker 客户端去连接一个远程的 Docker 守护进程。Docker 客户端和守护进程之间通过 socket 或者 RESTful API 进行通信。
Docker守护进程:Docker 守护进程运行在一台主机上。用户并不直接和守护进程进行交互,而是通过Docker 客户端间接和其通信。
Docker客户端:实际上是 docker 的二进制程序,是主要的用户与 Docker 交互方式。它接收用户指令并且与背后的 Docker 守护进程通信,
Docker 镜像:Docker 容器运行时的只读模板,每一个镜像由一系列的层 (layers) 组成
Docker 仓库:仓库用来保存镜像,可以理解为代码控制中的代码仓库。同样的,Docker 仓库也有公有和私有的概念。
Docker 容器:一个Docker容器包含了所有的某个应用运行所需要的环境。每一个 Docker 容器都是从 Docker 镜像创建的。
特性
- 灵活:复杂的应用程序也可以容器化。
- 轻量级:容器利用并共享了主机内核,在系统资源方面比虚拟机更加有效。
- 可移植性:可以在本地构建,部署到云并在任何地方运行。
- 松散耦合:容器是高度自给自足并封装的容器,使在不破坏其他容器的情况下更换或升级。
- 可扩展:在数据中心内增加并自动分布容器副本。
- 安全:容器将积极的约束和隔离应用于流程,而无需用户方面的任何配置。
3、版本与支持平台
版本与支持平台Docker版本:•社区版(CommunityEdition,CE)•企业版(EnterpriseEdition,EE)支持平台:•Linux(CentOS,Debian,Fedora,OracleLinux,RHEL,SUSE和Ubuntu)•Mac•Windows
FAQ
📍 进程的管理,是一个容器一个进程
Q:进程的管理,是一个容器一个进程,还是通过systemd/supervisord?为什么?
A:看场景 不到万不得已不建议这么做, 主要是收益很低,成本很高 ,因为引入了进程生命周期的管理成本 , 比如崩溃重启,探活,日志收集(遇到过日志组件只收集1号进程的日志) 告警等等 ,而且版本更新很麻烦, 如果需要多进程协作 建议用sidecar;
关于我
我的博客主旨:
- 排版美观,语言精炼;
- 文档即手册,步骤明细,拒绝埋坑,提供源码;
- 本人实战文档都是亲测成功的,各位小伙伴在实际操作过程中如有什么疑问,可随时联系本人帮您解决问题,让我们一起进步!
🍀 微信二维码
x2675263825 (舍得), qq:2675263825。
🍀 微信公众号
《云原生架构师实战》
🍀 csdn