互联网技术 / 互联网资讯 · 2023年11月9日 0

Docker守护进程dockerd运行多个守护程序的云计算核心技术

本节将探讨如何在单一主机上运行多个Docker守护程序。为确保不同守护程序之间不发生冲突,需要相应地配置每个守护程序。这些设置可以通过标志或守护程序配置文件来实现。

每个守护程序都必须配置以下选项:

-b, –bridge= 指定将容器连接到的网络桥接

–exec-root=/var/run/docker 存储容器状态的目录

–data-root=/var/lib/docker 存储持久性数据的目录

-p, –pidfile=/var/run/docker.pid PID文件的存储路径

-H, –host=[] 守护程序的socket连接

–iptables=true 守护程序添加IPtables规则

–config-file=/etc/docker/daemon.json 守护程序配置文件的路径

–tlscacert=”~/.docker/ca.pem” 仅信任此CA签署的证书

–tlscert=”~/.docker/cert.pem” TLS证书文件

–tlskey=”~/.docker/key.pem” TLS密钥文件

当守护程序使用不同的标志值时,您可以在同一主机上无缝运行它们。因此,理解这些选项及其正确使用显得尤为重要。

-b, –bridge=标志将docker0设置为默认的桥接网络,此网络在Docker安装时自动创建。如果不使用默认值,则需手动创建和配置桥接,或将其设置为“none”:–bridge=none。

–exec-root是用于存储容器状态的路径,默认值为/var/run/docker。请在此指定正在运行的守护程序的路径。

–data-root是用于存放持久性数据(如镜像、卷和集群状态)的路径,默认值为/var/lib/docker。为了避免与其他守护程序产生冲突,请为每个守护程序单独设置此参数。

-p, –pidfile=/var/run/docker.pid是守护进程的进程ID存储路径,请在此指定PID文件的路径。

–host=[]指定Docker守护程序监听客户端连接的地址,未指定时默认为/var/run/docker.sock。

–iptables=false 阻止Docker守护程序添加IPtables规则。如果多个守护程序管理IPtables规则,可能会导致规则相互覆盖。请注意,禁用此选项后,您需要手动添加IPtables规则以公开容器端口。如果您禁止Docker添加IPtables规则,即使将Docker设置为–ip-masq=true,Docker也不会添加IP伪装规则。没有IP伪装规则时,使用默认网桥之外的网络时,Docker容器将无法连接到外部主机或互联网。

–config-file=/etc/docker/daemon.json是配置文件的存储路径,可以用作守护程序的替代标志,请为每个守护程序指定相应路径。

–tls选项允许Docker守护程序支持强制加密与认证的远程连接模式。这些–tls选项能够为单个守护程序指定特定的证书。

[[[IMG_1]]]

[[[IMG_2]]]

[[[IMG_3]]]