gpt4 book ai didi

docker - Docker-compose不读取/etc/docker/daemon.json中的日志记录配置

转载 作者:行者123 更新时间:2023-12-02 19:33:06 28 4
gpt4 key购买 nike

我有一个daemon.json文件,存储在/etc/docker/daemon.json中。使用以下内容配置docker守护程序:

{
"log-driver" : "syslog",
"log-opts": {
"syslog-facility": "local1",
"tag": "{{.Name}}"
},
"storage-driver": "devicemapper",
"storage-opts": [
"dm.fs=xfs",
"dm.thinpooldev=/dev/mapper/vg00-docker--pool",
"dm.use_deferred_removal=true"
]
}

没有任何docker-compose服务配置了日志记录选项,也没有任何docker容器配置为以 --log-drivercmd中的 entrypoint开头。

检查 docker info命令的输出,我可以验证日志记录驱动程序是否设置为 syslog

但是,当运行docker-compose堆栈时,所有容器在使用 json-file命令检查它们时仍显示 docker inspect --format='{{.HostConfig.LogConfig.Type}}',在我看来, docker-compose不遵守 /etc/docker/daemon.json配置文件,仅对于日志记录配置而言,因为设置了 storage-driver正确地。

我用来运行此命令的docker版本是 17.12.0,docker-compose在 1.19.0

最佳答案

/etc/docker/daemon.json是默认配置文件,如果启动时存在,则应该访问docker守护程序。根据配置,您的文件中可能存在问题(因为根据语法看起来还可以)。

让我们尝试在启用调试的情况下强制读取配置文件,并查看显示的错误。

/usr/bin/dockerd stop
/usr/bin/dockerd start -D -l debug --config-file /etc/docker/daemon.json

之后,您可以看到带有 journalctl -u docker的日志

另外,您知道您可以轻松测试通过cli而不是json config文件将它们逐个传递的每个配置参数,以便找出其中哪个导致未加载配置。
/usr/bin/dockerd stop
/usr/bin/dockerd start -D -l debug --log-driver syslog --storage-driver devicemapper ...

一一添加,您将能够检查它是否由于存储选项而失败,因为未安装/ dev / mapper / vg00-docker--pool或其他原因。

关于docker - Docker-compose不读取/etc/docker/daemon.json中的日志记录配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49111573/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com