互联网爱好者创业的站长之家 – 南方站长网
您的位置:首页 >运营 >

云计算核心技术Docker教程:Docker守护程序目录

时间:2021-03-19 18:49:01 | 来源:TechWeb

原标题:云计算核心技术Docker教程:Docker守护程序目录

Docker守护程序将所有数据保留在一个目录中。这将跟踪与Docker相关的所有内容,包括容器,映像,卷,服务定义和机密。

默认情况下,该目录为:

/var/lib/docker 在Linux上。

C:\ProgramData\docker 在Windows上。

您可以使用data-root配置选项将Docker守护程序配置为使用其他目录 。

由于Docker守护程序的状态保留在此目录中,因此请确保为每个守护程序使用专用目录。如果两个守护程序共享同一目录(例如,NFS共享),则将遇到难以解决的错误。

对守护程序进行故障排除

您可以在守护程序上启用调试,以了解该守护程序的运行时活动并帮助进行故障排除。如果守护程序完全没有响应,您还可以通过将信号发送到Docker守护程序, 强制将所有线程的完整堆栈跟踪添加到守护程序日志中SIGUSR。

之间矛盾排查daemon.json和启动脚本

如果您使用daemon.json文件并且还dockerd 手动或使用启动脚本将选项传递给命令,并且这些选项发生冲突,则Docker无法启动,并显示以下错误:

如果看到类似于此错误的错误,并且正在使用标志手动启动守护程序,则可能需要调整标志或daemon.json来消除冲突。

如果要使用操作系统的init脚本启动Docker,则可能需要以特定于操作系统的方式覆盖这些脚本中的默认值。

将DAEMON.JSON中的HOSTS键与SYSTEMD一起使用

难以解决的配置冲突的一个显着示例是,您想指定一个不同于默认值的守护程序地址。Docker默认情况下侦听套接字。在使用Debian和Ubuntu的系统上systemd,这意味着-H启动时始终使用主机标志dockerd。如果在中指定 hosts条目,则将daemon.json导致配置冲突(如以上消息中所示),并且Docker无法启动。

要变通解决此问题,请创建/etc/systemd/system/docker.service.d/docker.conf具有以下内容的新文件,以删除-H默认情况下启动守护程序时使用的参数。

[Service]

ExecStart=

ExecStart=/usr/bin/dockerd

有时您可能需要systemd使用Docker进行配置,例如 配置HTTP或HTTPS proxy。

sudo systemctl daemon-reload在尝试启动Docker之前运行。如果Docker成功启动,则它现在正在侦听由hostskey daemon.json而不是socket指定的IP地址。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如有侵权行为,请第一时间联系我们修改或删除,多谢。

猜你喜欢