mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-07-19 09:16:29 +00:00
Merge pull request #2296 from justincormack/service-does-more
Make service start up containerd and services
This commit is contained in:
commit
5194bf13d1
@ -6,7 +6,7 @@ init:
|
||||
- linuxkit/vpnkit-expose-port:e2b49a6c56fbf876ea24f0a5ce4ccae5f940d1be # install vpnkit-expose-port and vpnkit-iptables-wrapper on host
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
onboot:
|
||||
# support metadata for optional config in /var/config
|
||||
- name: metadata
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
- linuxkit/ca-certificates:67acf038c44bb191ebb704ec7bb39a1524052cdf
|
||||
onboot:
|
||||
- name: sysctl
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
- linuxkit/ca-certificates:67acf038c44bb191ebb704ec7bb39a1524052cdf
|
||||
onboot:
|
||||
- name: sysctl
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
- linuxkit/ca-certificates:67acf038c44bb191ebb704ec7bb39a1524052cdf
|
||||
onboot:
|
||||
- name: sysctl
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
- linuxkit/ca-certificates:67acf038c44bb191ebb704ec7bb39a1524052cdf
|
||||
onboot:
|
||||
- name: sysctl
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
- linuxkit/ca-certificates:67acf038c44bb191ebb704ec7bb39a1524052cdf
|
||||
onboot:
|
||||
- name: sysctl
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
onboot:
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:17423c1ccced74e3c005fd80486e8177841fe02b
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
services:
|
||||
- name: getty
|
||||
image: linuxkit/getty:894eef1e5f62f3bc31de8ffaff2b6c0e093c4595
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
- linuxkit/ca-certificates:67acf038c44bb191ebb704ec7bb39a1524052cdf
|
||||
onboot:
|
||||
- name: sysctl
|
||||
|
@ -6,7 +6,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
onboot:
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:17423c1ccced74e3c005fd80486e8177841fe02b
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
- linuxkit/ca-certificates:67acf038c44bb191ebb704ec7bb39a1524052cdf
|
||||
onboot:
|
||||
- name: sysctl
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
- linuxkit/ca-certificates:eabc5a6e59f05aa91529d80e9a595b85b046f935
|
||||
onboot:
|
||||
- name: sysctl
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
- linuxkit/ca-certificates:67acf038c44bb191ebb704ec7bb39a1524052cdf
|
||||
onboot:
|
||||
- name: sysctl
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
onboot:
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:17423c1ccced74e3c005fd80486e8177841fe02b
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
onboot:
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:17423c1ccced74e3c005fd80486e8177841fe02b
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
- linuxkit/ca-certificates:67acf038c44bb191ebb704ec7bb39a1524052cdf
|
||||
onboot:
|
||||
- name: sysctl
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
- linuxkit/ca-certificates:67acf038c44bb191ebb704ec7bb39a1524052cdf
|
||||
onboot:
|
||||
- name: sysctl
|
||||
|
@ -9,6 +9,12 @@ import (
|
||||
log "github.com/Sirupsen/logrus"
|
||||
)
|
||||
|
||||
const (
|
||||
defaultSocket = "/run/containerd/containerd.sock"
|
||||
defaultPath = "/containers/services"
|
||||
defaultContainerd = "/usr/bin/containerd"
|
||||
)
|
||||
|
||||
var (
|
||||
defaultLogFormatter = &log.TextFormatter{}
|
||||
)
|
||||
@ -67,9 +73,9 @@ func main() {
|
||||
|
||||
switch args[0] {
|
||||
case "start":
|
||||
start(args[1:])
|
||||
startCmd(args[1:])
|
||||
case "system-init":
|
||||
systemInit(args[1:])
|
||||
systemInitCmd(args[1:])
|
||||
default:
|
||||
fmt.Printf("%q is not valid command.\n\n", args[0])
|
||||
flag.Usage()
|
||||
|
@ -15,7 +15,7 @@ import (
|
||||
specs "github.com/opencontainers/runtime-spec/specs-go"
|
||||
)
|
||||
|
||||
func start(args []string) {
|
||||
func startCmd(args []string) {
|
||||
invoked := filepath.Base(os.Args[0])
|
||||
flags := flag.NewFlagSet("start", flag.ExitOnError)
|
||||
flags.Usage = func() {
|
||||
@ -24,7 +24,8 @@ func start(args []string) {
|
||||
flags.PrintDefaults()
|
||||
}
|
||||
|
||||
sock := flags.String("sock", "/run/containerd/containerd.sock", "Path to containerd socket")
|
||||
sock := flags.String("sock", defaultSocket, "Path to containerd socket")
|
||||
path := flags.String("path", defaultPath, "Path to service configs")
|
||||
|
||||
dumpSpec := flags.String("dump-spec", "", "Dump container spec to file before start")
|
||||
|
||||
@ -40,55 +41,65 @@ func start(args []string) {
|
||||
}
|
||||
|
||||
service := args[0]
|
||||
rootfs := filepath.Join("/containers/services", service, "rootfs")
|
||||
|
||||
log.Infof("Starting service: %q", service)
|
||||
log := log.WithFields(log.Fields{
|
||||
"service": service,
|
||||
})
|
||||
|
||||
client, err := containerd.New(*sock)
|
||||
id, pid, msg, err := start(service, *sock, *path, *dumpSpec)
|
||||
if err != nil {
|
||||
log.WithError(err).Fatal("creating containerd client")
|
||||
log.WithError(err).Fatal(msg)
|
||||
}
|
||||
|
||||
log.Debugf("Started %s pid %d", id, pid)
|
||||
}
|
||||
|
||||
func start(service, sock, path, dumpSpec string) (string, uint32, string, error) {
|
||||
rootfs := filepath.Join(path, service, "rootfs")
|
||||
|
||||
client, err := containerd.New(sock)
|
||||
if err != nil {
|
||||
return "", 0, "creating containerd client", err
|
||||
}
|
||||
|
||||
ctx := namespaces.WithNamespace(context.Background(), "default")
|
||||
|
||||
var spec *specs.Spec
|
||||
specf, err := os.Open(filepath.Join("/containers/services", service, "config.json"))
|
||||
specf, err := os.Open(filepath.Join(path, service, "config.json"))
|
||||
if err != nil {
|
||||
log.WithError(err).Fatal("failed to read service spec")
|
||||
return "", 0, "failed to read service spec", err
|
||||
}
|
||||
if err := json.NewDecoder(specf).Decode(&spec); err != nil {
|
||||
log.WithError(err).Fatal("failed to parse service spec")
|
||||
return "", 0, "failed to parse service spec", err
|
||||
}
|
||||
|
||||
log.Debugf("Rootfs is %s", rootfs)
|
||||
|
||||
spec.Root.Path = rootfs
|
||||
|
||||
if *dumpSpec != "" {
|
||||
d, err := os.Create(*dumpSpec)
|
||||
if dumpSpec != "" {
|
||||
d, err := os.Create(dumpSpec)
|
||||
if err != nil {
|
||||
log.WithError(err).Fatal("failed to open file for spec dump")
|
||||
return "", 0, "failed to open file for spec dump", err
|
||||
}
|
||||
enc := json.NewEncoder(d)
|
||||
enc.SetIndent("", " ")
|
||||
if err := enc.Encode(&spec); err != nil {
|
||||
log.WithError(err).Fatal("failed to write spec dump")
|
||||
return "", 0, "failed to write spec dump", err
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ctr, err := client.NewContainer(ctx, service, containerd.WithSpec(spec))
|
||||
if err != nil {
|
||||
log.WithError(err).Fatal("failed to create container")
|
||||
return "", 0, "failed to create container", err
|
||||
}
|
||||
|
||||
io := func() (*containerd.IO, error) {
|
||||
logfile := filepath.Join("/var/log", service+".log")
|
||||
// We just need this to exist.
|
||||
if err := ioutil.WriteFile(logfile, []byte{}, 0666); err != nil {
|
||||
log.WithError(err).Fatal("failed to touch logfile")
|
||||
if err := ioutil.WriteFile(logfile, []byte{}, 0600); err != nil {
|
||||
// if we cannot write to log, discard output
|
||||
logfile = "/dev/null"
|
||||
}
|
||||
return &containerd.IO{
|
||||
Stdin: "/dev/null",
|
||||
@ -101,13 +112,13 @@ func start(args []string) {
|
||||
task, err := ctr.NewTask(ctx, io)
|
||||
if err != nil {
|
||||
// Don't bother to destroy the container here.
|
||||
log.WithError(err).Fatal("failed to create task")
|
||||
return "", 0, "failed to create task", err
|
||||
}
|
||||
|
||||
if err := task.Start(ctx); err != nil {
|
||||
// Don't destroy the container here so it can be inspected for debugging.
|
||||
log.WithError(err).Fatal("failed to start task")
|
||||
return "", 0, "failed to start task", err
|
||||
}
|
||||
|
||||
log.Debugf("Started %s pid %d", ctr.ID(), task.Pid())
|
||||
return ctr.ID(), task.Pid(), "", nil
|
||||
}
|
||||
|
@ -4,9 +4,12 @@ import (
|
||||
"context"
|
||||
"flag"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"os/exec"
|
||||
"path/filepath"
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
log "github.com/Sirupsen/logrus"
|
||||
"github.com/containerd/containerd"
|
||||
@ -49,7 +52,7 @@ func cleanupTask(ctx context.Context, ctr containerd.Container) error {
|
||||
}
|
||||
}
|
||||
|
||||
func systemInit(args []string) {
|
||||
func systemInitCmd(args []string) {
|
||||
invoked := filepath.Base(os.Args[0])
|
||||
flags := flag.NewFlagSet("system-init", flag.ExitOnError)
|
||||
flags.Usage = func() {
|
||||
@ -58,7 +61,9 @@ func systemInit(args []string) {
|
||||
flags.PrintDefaults()
|
||||
}
|
||||
|
||||
sock := flags.String("sock", "/run/containerd/containerd.sock", "Path to containerd socket")
|
||||
sock := flags.String("sock", defaultSocket, "Path to containerd socket")
|
||||
path := flags.String("path", defaultPath, "Path to service configs")
|
||||
binary := flags.String("containerd", defaultContainerd, "Path to containerd")
|
||||
|
||||
if err := flags.Parse(args); err != nil {
|
||||
log.Fatal("Unable to parse args")
|
||||
@ -71,6 +76,33 @@ func systemInit(args []string) {
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
// remove (unlikely) old containerd socket
|
||||
_ = os.Remove(*sock)
|
||||
|
||||
// start up containerd
|
||||
cmd := exec.Command(*binary)
|
||||
cmd.Stdout = os.Stdout
|
||||
cmd.Stderr = os.Stderr
|
||||
if err := cmd.Start(); err != nil {
|
||||
log.WithError(err).Fatal("cannot start containerd")
|
||||
}
|
||||
|
||||
// wait for containerd socket to appear
|
||||
for {
|
||||
_, err := os.Stat(*sock)
|
||||
if err == nil {
|
||||
break
|
||||
}
|
||||
err = cmd.Process.Signal(syscall.Signal(0))
|
||||
if err != nil {
|
||||
// process not there, wait() to find error
|
||||
err = cmd.Wait()
|
||||
log.WithError(err).Fatal("containerd process exited")
|
||||
}
|
||||
time.Sleep(100 * time.Millisecond)
|
||||
}
|
||||
|
||||
// connect to containerd
|
||||
client, err := containerd.New(*sock)
|
||||
if err != nil {
|
||||
log.WithError(err).Fatal("creating containerd client")
|
||||
@ -83,6 +115,7 @@ func systemInit(args []string) {
|
||||
log.WithError(err).Fatal("listing containers")
|
||||
}
|
||||
|
||||
// Clean up any old containers
|
||||
// None of the errors in this loop are fatal since we want to
|
||||
// keep trying.
|
||||
for _, ctr := range ctrs {
|
||||
@ -99,4 +132,18 @@ func systemInit(args []string) {
|
||||
log.WithError(err).Error("deleting container")
|
||||
}
|
||||
}
|
||||
|
||||
// Start up containers
|
||||
files, err := ioutil.ReadDir(*path)
|
||||
// just skip if there is an error, eg no such path
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
for _, file := range files {
|
||||
if id, pid, msg, err := start(file.Name(), *sock, *path, ""); err != nil {
|
||||
log.WithError(err).Error(msg)
|
||||
} else {
|
||||
log.Debugf("Started %s pid %d", id, pid)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,25 +1,14 @@
|
||||
#!/bin/sh
|
||||
|
||||
# bring up containerd
|
||||
printf "\nStarting containerd\n"
|
||||
/usr/bin/containerd &
|
||||
|
||||
# wait for socket to be there
|
||||
while [ ! -S /run/containerd/containerd.sock ]
|
||||
do
|
||||
sleep 0.1
|
||||
done
|
||||
|
||||
# start service containers
|
||||
|
||||
service system-init
|
||||
|
||||
if [ -d /containers/services ]
|
||||
then
|
||||
for f in $(find /containers/services -mindepth 1 -maxdepth 1 | sort)
|
||||
do
|
||||
/bin/mount --bind "$f/rootfs" "$f/rootfs"
|
||||
mount -o remount,rw "$f/rootfs"
|
||||
service start "$(basename $f)"
|
||||
done
|
||||
fi
|
||||
|
||||
service system-init
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
- linuxkit/ca-certificates:67acf038c44bb191ebb704ec7bb39a1524052cdf
|
||||
onboot:
|
||||
- name: sysctl
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
- linuxkit/ca-certificates:67acf038c44bb191ebb704ec7bb39a1524052cdf
|
||||
onboot:
|
||||
- name: sysctl
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:12348442d56c2ee9abf13ff38dff2e36b515bd1e
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
- linuxkit/ca-certificates:67acf038c44bb191ebb704ec7bb39a1524052cdf
|
||||
onboot:
|
||||
- name: sysctl
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
- linuxkit/ca-certificates:67acf038c44bb191ebb704ec7bb39a1524052cdf
|
||||
- linuxkit/ima-utils:dfeb3896fd29308b80ff9ba7fe5b8b767e40ca29
|
||||
onboot:
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
- linuxkit/ca-certificates:67acf038c44bb191ebb704ec7bb39a1524052cdf
|
||||
onboot:
|
||||
- name: sysctl
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
- linuxkit/ca-certificates:67acf038c44bb191ebb704ec7bb39a1524052cdf
|
||||
onboot:
|
||||
- name: sysctl
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:12348442d56c2ee9abf13ff38dff2e36b515bd1e # with runc, logwrite, startmemlogd
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
- linuxkit/ca-certificates:67acf038c44bb191ebb704ec7bb39a1524052cdf
|
||||
- linuxkit/memlogd:9b5834189f598f43c507f6938077113906f51012
|
||||
onboot:
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
- linuxkit/ca-certificates:67acf038c44bb191ebb704ec7bb39a1524052cdf
|
||||
- samoht/fdd
|
||||
onboot:
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
onboot:
|
||||
- name: sysctl
|
||||
image: linuxkit/sysctl:d1a43c7c91e92374766f962dc8534cf9508756b0
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
- linuxkit/ca-certificates:67acf038c44bb191ebb704ec7bb39a1524052cdf
|
||||
onboot:
|
||||
- name: sysctl
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
- linuxkit/ca-certificates:67acf038c44bb191ebb704ec7bb39a1524052cdf
|
||||
onboot:
|
||||
- name: sysctl
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
- linuxkit/ca-certificates:67acf038c44bb191ebb704ec7bb39a1524052cdf
|
||||
onboot:
|
||||
- name: sysctl
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
services:
|
||||
- name: acpid
|
||||
image: linuxkit/acpid:1966310cb75e28ffc668863a6577ee991327f918
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
- linuxkit/ca-certificates:67acf038c44bb191ebb704ec7bb39a1524052cdf
|
||||
onboot:
|
||||
- name: sysctl
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
- linuxkit/ca-certificates:67acf038c44bb191ebb704ec7bb39a1524052cdf
|
||||
onboot:
|
||||
- name: sysctl
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
- linuxkit/ca-certificates:67acf038c44bb191ebb704ec7bb39a1524052cdf
|
||||
onboot:
|
||||
- name: dhcpcd
|
||||
|
@ -4,7 +4,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
onboot:
|
||||
- name: ltp
|
||||
image: linuxkit/test-ltp:6df23ac196332cafb9c0f8e32f328e22d612267d
|
||||
|
@ -6,7 +6,7 @@ kernel:
|
||||
init:
|
||||
- linuxkit/init:838b772355a8690143b37de1cdd4ac5db725271f
|
||||
- linuxkit/runc:d5cbeb95bdafedb82ad2cf11cff1a5da7fcae630
|
||||
- linuxkit/containerd:e33e0534d6fca88e1eb86897a1ea410b4a5d722e
|
||||
- linuxkit/containerd:ff59f34e79369a6f2ce7c2a7b1cf0fcb226b31f4
|
||||
onboot:
|
||||
- name: dhcpcd
|
||||
image: linuxkit/dhcpcd:17423c1ccced74e3c005fd80486e8177841fe02b
|
||||
|
Loading…
Reference in New Issue
Block a user