mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
aaa1392279
dockerd allows the `--log-level` to be specified, but this log-level was not forwarded to the containerd process. This patch sets containerd's log-level to the same as dockerd if a custom level is provided. Now that `--log-level` is also passed to containerd, the default "info" is removed, so that containerd's default (or the level configured in containerd.toml) is still used if no log-level is set. Before this change: containerd would always be started without a log-level set (only the level that's configured in `containerd.toml`); ``` root 1014 2.5 2.1 496484 43468 pts/0 Sl+ 12:23 0:00 dockerd root 1023 1.2 1.1 681768 23832 ? Ssl 12:23 0:00 \_ docker-containerd --config /var/run/docker/containerd/containerd.toml ``` After this change: when running `dockerd` without options (same as current); ``` root 1014 2.5 2.1 496484 43468 pts/0 Sl+ 12:23 0:00 dockerd root 1023 1.2 1.1 681768 23832 ? Ssl 12:23 0:00 \_ docker-containerd --config /var/run/docker/containerd/containerd.toml ``` when running `dockerd --debug`: ``` root 600 0.8 2.1 512876 43180 pts/0 Sl+ 12:20 0:00 dockerd --debug root 608 0.6 1.1 624428 23672 ? Ssl 12:20 0:00 \_ docker-containerd --config /var/run/docker/containerd/containerd.toml --log-level debug ``` when running `dockerd --log-level=panic` ``` root 747 0.6 2.1 496548 43996 pts/0 Sl+ 12:21 0:00 dockerd --log-level=panic root 755 0.7 1.1 550696 24100 ? Ssl 12:21 0:00 \_ docker-containerd --config /var/run/docker/containerd/containerd.toml --log-level panic ``` combining `--debug` and `--log-level` (`--debug` takes precedence): ``` root 880 2.7 2.1 634692 43336 pts/0 Sl+ 12:23 0:00 dockerd --debug --log-level=panic root 888 1.0 1.1 616232 23652 ? Ssl 12:23 0:00 \_ docker-containerd --config /var/run/docker/containerd/containerd.toml --log-level debug ``` Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
58 lines
1.4 KiB
Go
58 lines
1.4 KiB
Go
package libcontainerd // import "github.com/docker/docker/libcontainerd"
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
"syscall"
|
|
"time"
|
|
|
|
"github.com/containerd/containerd/defaults"
|
|
"github.com/docker/docker/pkg/system"
|
|
)
|
|
|
|
const (
|
|
sockFile = "docker-containerd.sock"
|
|
debugSockFile = "docker-containerd-debug.sock"
|
|
)
|
|
|
|
func (r *remote) setDefaults() {
|
|
if r.GRPC.Address == "" {
|
|
r.GRPC.Address = filepath.Join(r.stateDir, sockFile)
|
|
}
|
|
if r.GRPC.MaxRecvMsgSize == 0 {
|
|
r.GRPC.MaxRecvMsgSize = defaults.DefaultMaxRecvMsgSize
|
|
}
|
|
if r.GRPC.MaxSendMsgSize == 0 {
|
|
r.GRPC.MaxSendMsgSize = defaults.DefaultMaxSendMsgSize
|
|
}
|
|
if r.Debug.Address == "" {
|
|
r.Debug.Address = filepath.Join(r.stateDir, debugSockFile)
|
|
}
|
|
if r.OOMScore == 0 {
|
|
r.OOMScore = -999
|
|
}
|
|
if r.snapshotter == "" {
|
|
r.snapshotter = "overlay"
|
|
}
|
|
}
|
|
|
|
func (r *remote) stopDaemon() {
|
|
// Ask the daemon to quit
|
|
syscall.Kill(r.daemonPid, syscall.SIGTERM)
|
|
// Wait up to 15secs for it to stop
|
|
for i := time.Duration(0); i < shutdownTimeout; i += time.Second {
|
|
if !system.IsProcessAlive(r.daemonPid) {
|
|
break
|
|
}
|
|
time.Sleep(time.Second)
|
|
}
|
|
|
|
if system.IsProcessAlive(r.daemonPid) {
|
|
r.logger.WithField("pid", r.daemonPid).Warn("daemon didn't stop within 15 secs, killing it")
|
|
syscall.Kill(r.daemonPid, syscall.SIGKILL)
|
|
}
|
|
}
|
|
|
|
func (r *remote) platformCleanup() {
|
|
os.Remove(filepath.Join(r.stateDir, sockFile))
|
|
}
|