From c40351a0a82d70a59bb65ec424bb45f5b5ad1e80 Mon Sep 17 00:00:00 2001 From: Justin Cormack Date: Sat, 8 Apr 2017 21:10:30 +0100 Subject: [PATCH] Make each rootfs a mountpoint by binding Otherwise shared mounts do not work correctly with `runc`. Signed-off-by: Justin Cormack --- examples/docker.yml | 2 +- examples/gcp.yml | 2 +- examples/sshd.yml | 2 +- examples/vmware.yml | 2 +- moby.yml | 2 +- pkg/init/etc/init.d/containers | 2 ++ test/ltp/test-ltp.yml | 2 +- test/test.yml | 2 +- test/virtsock/test-virtsock-server.yml | 2 +- 9 files changed, 10 insertions(+), 8 deletions(-) diff --git a/examples/docker.yml b/examples/docker.yml index 11b53c078..2f717d531 100644 --- a/examples/docker.yml +++ b/examples/docker.yml @@ -2,7 +2,7 @@ kernel: image: "mobylinux/kernel:4.9.x" cmdline: "console=ttyS0 console=tty0 page_poison=1" init: - - mobylinux/init:02f05d99b4eb9cd9223bb5915f4070cf7b67c862 + - mobylinux/init:c394f4bf59566206e5036798c058a9894a7e0fc8 - mobylinux/runc:b0fb122e10dbb7e4e45115177a61a3f8d68c19a9 - mobylinux/containerd:68bb523deea09da293d675cbf88474eced540b8c - mobylinux/ca-certificates:eabc5a6e59f05aa91529d80e9a595b85b046f935 diff --git a/examples/gcp.yml b/examples/gcp.yml index 6ec8045ca..0b0905cf4 100644 --- a/examples/gcp.yml +++ b/examples/gcp.yml @@ -2,7 +2,7 @@ kernel: image: "mobylinux/kernel:4.9.x" cmdline: "console=ttyS0 page_poison=1" init: - - mobylinux/init:02f05d99b4eb9cd9223bb5915f4070cf7b67c862 + - mobylinux/init:c394f4bf59566206e5036798c058a9894a7e0fc8 - mobylinux/runc:b0fb122e10dbb7e4e45115177a61a3f8d68c19a9 - mobylinux/containerd:68bb523deea09da293d675cbf88474eced540b8c - mobylinux/ca-certificates:eabc5a6e59f05aa91529d80e9a595b85b046f935 diff --git a/examples/sshd.yml b/examples/sshd.yml index dadb7fdca..33e9c3bfd 100644 --- a/examples/sshd.yml +++ b/examples/sshd.yml @@ -2,7 +2,7 @@ kernel: image: "mobylinux/kernel:4.9.x" cmdline: "console=ttyS0 page_poison=1" init: - - mobylinux/init:02f05d99b4eb9cd9223bb5915f4070cf7b67c862 + - mobylinux/init:c394f4bf59566206e5036798c058a9894a7e0fc8 - mobylinux/runc:b0fb122e10dbb7e4e45115177a61a3f8d68c19a9 - mobylinux/containerd:68bb523deea09da293d675cbf88474eced540b8c - mobylinux/ca-certificates:eabc5a6e59f05aa91529d80e9a595b85b046f935 diff --git a/examples/vmware.yml b/examples/vmware.yml index 839141e62..8be10ea08 100644 --- a/examples/vmware.yml +++ b/examples/vmware.yml @@ -2,7 +2,7 @@ kernel: image: "mobylinux/kernel:4.9.x" cmdline: "console=tty0 page_poison=1" init: - - mobylinux/init:02f05d99b4eb9cd9223bb5915f4070cf7b67c862 + - mobylinux/init:c394f4bf59566206e5036798c058a9894a7e0fc8 - mobylinux/runc:b0fb122e10dbb7e4e45115177a61a3f8d68c19a9 - mobylinux/containerd:68bb523deea09da293d675cbf88474eced540b8c - mobylinux/ca-certificates:eabc5a6e59f05aa91529d80e9a595b85b046f935 diff --git a/moby.yml b/moby.yml index 835111ef0..6583035d3 100644 --- a/moby.yml +++ b/moby.yml @@ -2,7 +2,7 @@ kernel: image: "mobylinux/kernel:4.9.x" cmdline: "console=ttyS0 console=tty0 page_poison=1" init: - - mobylinux/init:02f05d99b4eb9cd9223bb5915f4070cf7b67c862 + - mobylinux/init:c394f4bf59566206e5036798c058a9894a7e0fc8 - mobylinux/runc:b0fb122e10dbb7e4e45115177a61a3f8d68c19a9 - mobylinux/containerd:68bb523deea09da293d675cbf88474eced540b8c - mobylinux/ca-certificates:eabc5a6e59f05aa91529d80e9a595b85b046f935 diff --git a/pkg/init/etc/init.d/containers b/pkg/init/etc/init.d/containers index 9ff566c96..00bdcf116 100755 --- a/pkg/init/etc/init.d/containers +++ b/pkg/init/etc/init.d/containers @@ -7,6 +7,7 @@ then for f in $(find /containers/onboot -mindepth 1 -maxdepth 1 | sort) do base="$(basename $f)" + /bin/mount --bind "$f/rootfs" "$f/rootfs" /usr/bin/runc run --bundle "$f" "$(basename $f)" printf " - $base\n" done @@ -20,6 +21,7 @@ then for f in $(find /containers/services -mindepth 1 -maxdepth 1 | sort) do base="$(basename $f)" + /bin/mount --bind "$f/rootfs" "$f/rootfs" log="/var/log/$base.log" /sbin/start-stop-daemon --start --pidfile /run/$base.pid --exec /usr/bin/runc -- run --bundle "$f" --pid-file /run/$base.pid "$(basename $f)" $log >$log & printf " - $base\n" diff --git a/test/ltp/test-ltp.yml b/test/ltp/test-ltp.yml index bd57b8bd9..49f6311b6 100644 --- a/test/ltp/test-ltp.yml +++ b/test/ltp/test-ltp.yml @@ -2,7 +2,7 @@ kernel: image: "mobylinux/kernel:4.9.x" cmdline: "console=ttyS0" init: - - mobylinux/init:02f05d99b4eb9cd9223bb5915f4070cf7b67c862 + - mobylinux/init:c394f4bf59566206e5036798c058a9894a7e0fc8 - mobylinux/runc:b0fb122e10dbb7e4e45115177a61a3f8d68c19a9 - mobylinux/containerd:68bb523deea09da293d675cbf88474eced540b8c - mobylinux/ca-certificates:eabc5a6e59f05aa91529d80e9a595b85b046f935 diff --git a/test/test.yml b/test/test.yml index b012b3e02..2cb52519c 100644 --- a/test/test.yml +++ b/test/test.yml @@ -2,7 +2,7 @@ kernel: image: "mobylinux/kernel:4.9.x" cmdline: "console=ttyS0" init: - - mobylinux/init:02f05d99b4eb9cd9223bb5915f4070cf7b67c862 + - mobylinux/init:c394f4bf59566206e5036798c058a9894a7e0fc8 - mobylinux/runc:b0fb122e10dbb7e4e45115177a61a3f8d68c19a9 - mobylinux/containerd:68bb523deea09da293d675cbf88474eced540b8c - mobylinux/ca-certificates:eabc5a6e59f05aa91529d80e9a595b85b046f935 diff --git a/test/virtsock/test-virtsock-server.yml b/test/virtsock/test-virtsock-server.yml index 386eadaea..10ceb0fd1 100644 --- a/test/virtsock/test-virtsock-server.yml +++ b/test/virtsock/test-virtsock-server.yml @@ -6,7 +6,7 @@ kernel: image: "mobylinux/kernel:4.9.x" cmdline: "console=ttyS0 page_poison=1" init: - - mobylinux/init:02f05d99b4eb9cd9223bb5915f4070cf7b67c862 + - mobylinux/init:c394f4bf59566206e5036798c058a9894a7e0fc8 - mobylinux/runc:b0fb122e10dbb7e4e45115177a61a3f8d68c19a9 - mobylinux/containerd:68bb523deea09da293d675cbf88474eced540b8c - mobylinux/ca-certificates:eabc5a6e59f05aa91529d80e9a595b85b046f935