【docker】fd:// 在 “dockerd -H fd://“中到底是什么意思?

本文详细解析了在Systemd环境下如何使用fd://语法启动Docker守护程序,解释了Systemd如何创建并监听套接字,以及Docker服务如何通过此语法连接到Docker守护程序。同时,深入探讨了文件描述符(fd)在Linux系统中的作用。

在systemd内部运行docker时使用 -H fd:// 语法。

Systemd本身将在docker.socket单元文件中创建一个套接字并进行监听,并且该套接字使用 fd://  docker.service单元文件中的语法连接到docker 守护程序。

当您启动Docker守护程序时,-H fd://  将告诉Docker该服务正在由Systemd启动,并将使用套接字激活,然后,systemd将创建目标套接字,并将其传递给Docker守护程序使用。

当您使用时-H fd://,docker将期望套接字通过其父进程传递,而不是自己创建。由Systemd启动时,Systemd会执行此工作,但是在终端上手动启动时,您不会执行此工作,因此docker守护进程失败并中止。

 

 

fd,即file descriptor,文件描述符。

Linux下,所有的操作都是对文件进行操作,而对文件的操作是利用文件描述符(file descriptor)来实现的。每个文件进程控制块中都有一份文件描述符表(可以把它看成是一个数组,里面的元素是指向file结构体指针类型),这个数组的下标就是文件描述符。在源代码中,一般用fd作为文件描述符的标识。

 

Linux文件描述符到底是什么?

http://c.biancheng.net/view/3066.html

 

 

fd:// 在  "dockerd -H fd://"中到底是什么意思?

http://www.data-master.net/2043303507

 

What does fd:// mean exactly in dockerd -H fd:// ?

https://www.it1352.com/647824.html

https://stackoverflow.com/questions/43303507/what-does-fd-mean-exactly-in-dockerd-h-fd

 

Docker daemon socket option

https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-socket-option

 

moby/contrib/init/systemd

https://github.com/moby/moby/tree/master/contrib/init/systemd

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值