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

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

一个 Linux 进程启动后,会在内核空间中创建一个 PCB 控制块,PCB 内部有一个文件描述符表(File descriptor table),记录着当前进程所有可用的文件描述符,也即当前进程所有打开的文件。

Linux下,所有的操作都是对文件进行操作,而对文件的操作是利用文件描述符(file descriptor)来实现的。

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

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

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

在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:// 在  “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

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容