Skip to main content
 Web开发网 » 编程语言 » JAVA语言

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

2021年11月08日7250百度已收录

【点击右上角加'关注',全国产经信息不错过】

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

默认情况下,该目录为:

/var/lib/docker 在Linux上。

C:ProgramDatadocker 在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进行配置,例如 配置。

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

免责声明:以上内容转载自TMT观察网,所发内容不代表本平台立场。

全国产经平台联系电话:010-65367702,邮箱:hz@people-energy.com.cn,地址:北京市朝阳区金台西路2号人民日报社

评论列表暂无评论
发表评论
微信