mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00

Disable cri plugin by default in containerd and allows an option to enable the plugin. This only has an effect on containerd when supervised by dockerd. When containerd is managed outside of dockerd, the configuration is not effected. Signed-off-by: Derek McGowan <derek@mcgstyle.net>
66 lines
1.5 KiB
Go
66 lines
1.5 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
|
|
}
|
|
|
|
for key, conf := range r.pluginConfs.Plugins {
|
|
if conf == nil {
|
|
r.DisabledPlugins = append(r.DisabledPlugins, key)
|
|
delete(r.pluginConfs.Plugins, key)
|
|
}
|
|
}
|
|
|
|
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))
|
|
}
|