命令 dockerd 中开关 --containerd 的目的是什么?
What is purpose of the switch --containerd in command dockerd?
如果我运行systemctl cat docker.service
查看docker.service的单元文件,
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
可以在docker的默认单元文件中找到。
我的问题是切换的目的是什么
--containerd=/run/containerd/containerd.sock
?
根据的回答,如果我为docker.service生成一个覆盖文件,内容为:
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H fd://
有效配置为:
[Service]
ExecStart=/usr/bin/dockerd -H fd://
和--containerd=/run/containerd/containerd.sock
将被省略。
那么这个配置会导致什么情况呢?
我希望 docker 可以在启用 TLS 保护的情况下在本地和远程正常工作。
我还需要通过 ssh 调用 docker 守护程序。
提前致谢。
文档的重要部分位于“Docker runtime execution options”部分的下方,它说:
The Docker daemon relies on a OCI compliant runtime (invoked via the containerd daemon) as its interface to the Linux kernel namespaces, cgroups, and SELinux.
By default, the Docker daemon automatically starts containerd. If you want to control containerd startup, manually start containerd and pass the path to the containerd socket using the --containerd flag.
换句话说,原来的Docker单元可能包括--containerd=/run/containerd/containerd.sock
,因为containerd
是由systemd管理的.socket
和.service
单元。
通过从覆盖中排除标志,我对文档的阅读是 Docker 将启动自己的 containerd
实例,而不是使用绑定到 /run/containerd/containerd.sock
的实例。
可能无害,但最好将该标志添加到覆盖命令行。
如果我运行systemctl cat docker.service
查看docker.service的单元文件,
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
可以在docker的默认单元文件中找到。
我的问题是切换的目的是什么
--containerd=/run/containerd/containerd.sock
?
根据
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H fd://
有效配置为:
[Service]
ExecStart=/usr/bin/dockerd -H fd://
和--containerd=/run/containerd/containerd.sock
将被省略。
那么这个配置会导致什么情况呢? 我希望 docker 可以在启用 TLS 保护的情况下在本地和远程正常工作。 我还需要通过 ssh 调用 docker 守护程序。
提前致谢。
文档的重要部分位于“Docker runtime execution options”部分的下方,它说:
The Docker daemon relies on a OCI compliant runtime (invoked via the containerd daemon) as its interface to the Linux kernel namespaces, cgroups, and SELinux.
By default, the Docker daemon automatically starts containerd. If you want to control containerd startup, manually start containerd and pass the path to the containerd socket using the --containerd flag.
换句话说,原来的Docker单元可能包括--containerd=/run/containerd/containerd.sock
,因为containerd
是由systemd管理的.socket
和.service
单元。
通过从覆盖中排除标志,我对文档的阅读是 Docker 将启动自己的 containerd
实例,而不是使用绑定到 /run/containerd/containerd.sock
的实例。
可能无害,但最好将该标志添加到覆盖命令行。