kra*_*ave 4 docker docker-daemon
如果我运行systemctl cat docker.service查看docker.service的unit文件,
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock可以在docker默认的unit文件中找到。
我的问题是切换的目的是什么
--containerd=/run/containerd/containerd.sock?
根据这个问题的答案,如果我为 docker.service 生成一个覆盖文件,内容为:
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H fd://
Run Code Online (Sandbox Code Playgroud)
有效的配置是:
[Service]
ExecStart=/usr/bin/dockerd -H fd://
Run Code Online (Sandbox Code Playgroud)
并将--containerd=/run/containerd/containerd.sock被省略。
那么这样的配置会导致什么情况呢?我希望docker能够在启用TLS保护的情况下在本地和远程正常工作。我还需要通过 ssh 调用 docker 守护进程。
先感谢您。
文档的重要部分位于“ Docker 运行时执行选项”部分,其中写道:
Docker 守护进程依赖于 OCI 兼容的运行时(通过 containerd 守护进程调用)作为其与 Linux 内核命名空间、cgroup 和 SELinux 的接口。
默认情况下,Docker守护进程会自动启动containerd。如果要控制containerd启动,请手动启动containerd并使用--containerd标志将路径传递到containerd套接字。
换句话说,原始的 Docker 单元可能包括--containerd=/run/containerd/containerd.sock因为containerd是由 systemd.socket和.service单元管理的。
通过从覆盖中排除该标志,我对文档的阅读是 Docker 将启动自己的containerd实例,而不是使用绑定到/run/containerd/containerd.sock.
可能无害,但最好将该标志添加到您的覆盖命令行中。
| 归档时间: |
|
| 查看次数: |
4641 次 |
| 最近记录: |