如何在后台运行dockerd且不生成日志

12

我正在使用franela/dind镜像获取一个bash:

docker run --rm --privileged -it franela/dind bash

在运行dockerd之前,请务必删除/etc/docker/daemon.json文件。

我在其中运行了dockerd,它开始打印大量的日志:

WARN[2019-02-24T13:40:16.902536038Z] could not change group /var/run/docker.sock to docker: group docker not found 
INFO[2019-02-24T13:40:16.922239343Z] libcontainerd: started new docker-containerd process  pid=880
INFO[2019-02-24T13:40:16.922290278Z] parsed scheme: "unix"                         module=grpc
INFO[2019-02-24T13:40:16.922302876Z] scheme "unix" not registered, fallback to default scheme  module=grpc
INFO[2019-02-24T13:40:16.922360290Z] ccResolverWrapper: sending new addresses to cc: [{unix:///var/run/docker/containerd/docker-containerd.sock 0  <nil>}]  module=grpc
INFO[2019-02-24T13:40:16.922373417Z] ClientConn switching balancer to "pick_first"  module=grpc
INFO[2019-02-24T13:40:16.922423556Z] pickfirstBalancer: HandleSubConnStateChange: 0xc4203c96e0, CONNECTING  module=grpc
INFO[0000] starting containerd                           revision=468a545b9edcd5932818eb9de8e72413e616e86e version=v1.1.2
INFO[0000] loading plugin "io.containerd.content.v1.content"...  type=io.containerd.content.v1
INFO[0000] loading plugin "io.containerd.snapshotter.v1.btrfs"...  type=io.containerd.snapshotter.v1

我尝试了不带日志运行它,但是我尝试的一切都没有帮助:

# run as a background process
dockerd &  
# redirect the output to /dev/null
dockerd > /dev/null
# try to remove the logs with the --log-level switch
dockerd --log-level error  
如何以静默模式运行dockerd服务,避免所有这些日志?
1个回答

9
< p > 来自 dockerd 的日志将被打印到stderr。你可以像这样将其重定向到文件并在后台运行:

sudo docker run --privileged --rm -ti --entrypoint sh docker:18-dind

dockerd &> dockerd-logfile &

# check out the log stream, to cancel use ctrl+c
tail dockerd-logfile

# just to see it's still running
ps -ef

当然,你也可以像你已经尝试过的那样丢弃所有日志:dockerd &> /dev/null &


1
谢谢,它有效。我将其作为 docker &> /dev/null & 运行。 - E235

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接