代码之家  ›  专栏  ›  技术社区  ›  E235

如何在后台无日志运行dockerd

  •  0
  • E235  · 技术社区  · 5 年前

    franela/dind 获得狂欢的图像:

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

    *确保移除 /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  
    

    我怎么能运行 没有这些日志的服务?让它处于安静的状态。

    0 回复  |  直到 5 年前
        1
  •  6
  •   webwurst    5 年前

    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 &