Docker 使用 Systemd Socket

本文介绍了Docker如何利用Systemd Socket进行服务启动优化,解释了socket activation的概念,通过实验展示了Docker服务如何与socket激活配合工作,包括在Docker守护进程启动时通过指定参数与socket交互。
摘要由CSDN通过智能技术生成

以下环境默认为centos7
最近切换Docker版本时发现新版本Docker的 Systemd Unit File 和之前的不太一样,通常我们知道,Docker Daemon 启动时,可以通过 --host 参数(简写为 -H)来指定 Daemon Socket 连接的位置,比如 --host=unix:///var/run/docker.sock 表示使用一个 Unix Domain Socket;而 --host=tcp://0.0.0.0:2376 表示 Docker Daemon 监听在 2376 端口上。
而现在 Docker service的 的启动命令使用的参数为 -H fd://,所以不太理解,查到几篇文章有所收获,特此记录。

Systemd Socket

systemd是一套用来管理主机上各个Daemon运行的工具,
开发目标是提供更优秀的框架以表示系统服务间的依赖关系,并依此实现系统初始化时服务的并行启动.

上面提到的并行很有意思, 不相干的Daemon并行启动自然没有什么问题,但倘若Daemon B依赖于Daemon A,那么它就必须等到Daemon A完成启动后才能启动,这就变成了串行.如果避免这种串行呢? 这需要了解两个Daemon的依赖性的本质.通常来说,如果Daemon B依赖Daemon A,那么就说明Daemon B(Clinet)启动时会向Daemon A(Server)发起连接.由于Daemon A和Daemon B通常在一台主机上, 因此它们之间的C-S连接通常使用Unix Socket完成.

而socket activation的思想就是: Daemon B启动时其实并不需要Daemon A真

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值