mirror of
https://github.com/moby/moby.git
synced 2026-01-11 02:31:44 +00:00
42 lines
817 B
Go
42 lines
817 B
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"os"
|
|
"os/signal"
|
|
"syscall"
|
|
|
|
"github.com/moby/sys/reexec"
|
|
"github.com/moby/term"
|
|
|
|
"github.com/moby/moby/v2/daemon/command"
|
|
)
|
|
|
|
func main() {
|
|
if reexec.Init() {
|
|
return
|
|
}
|
|
ctx := context.Background()
|
|
|
|
// Ignore SIGPIPE events. These are generated by systemd when journald is restarted while
|
|
// the docker daemon is not restarted and also running under systemd.
|
|
// Fixes https://github.com/moby/moby/issues/19728
|
|
signal.Ignore(syscall.SIGPIPE)
|
|
|
|
// Set terminal emulation based on platform as required.
|
|
_, stdout, stderr := term.StdStreams()
|
|
onError := func(err error) {
|
|
fmt.Fprintf(stderr, "%s\n", err)
|
|
os.Exit(1)
|
|
}
|
|
|
|
r, err := command.NewDaemonRunner(stdout, stderr)
|
|
if err != nil {
|
|
onError(err)
|
|
}
|
|
if err := r.Run(ctx); err != nil {
|
|
onError(err)
|
|
}
|
|
}
|