| From fc9fea5b5b47686f9e841d4b7d0105e06960c112 Mon Sep 17 00:00:00 2001 |
| From: Rayan Dasoriya <dasoriya@google.com> |
| Date: Tue, 20 Jul 2021 02:32:45 +0000 |
| Subject: [PATCH] Added containerd support |
| |
| --- |
| toolbox | 18 ++++++++++++++---- |
| 1 file changed, 14 insertions(+), 4 deletions(-) |
| |
| diff --git a/toolbox b/toolbox |
| index f101cf1..5cf01cd 100755 |
| --- a/toolbox |
| +++ b/toolbox |
| @@ -10,6 +10,8 @@ TOOLBOX_DIRECTORY="/var/lib/toolbox" |
| TOOLBOX_BIND="--bind=/:/media/root --bind=/usr:/media/root/usr --bind=/run:/media/root/run" |
| # Ex: "--setenv=KEY=VALUE" |
| TOOLBOX_ENV="" |
| +TOOLBOX_DOCKER_IMAGE_TARBALL="" |
| +TOOLBOX_TEMP_DIR=$(mktemp -d) |
| |
| toolboxrc="${HOME}"/.toolboxrc |
| |
| @@ -28,12 +30,20 @@ machinepath="${TOOLBOX_DIRECTORY}/${machinename}" |
| osrelease="${machinepath}/etc/os-release" |
| if [ ! -f ${osrelease} ] || systemctl is-failed -q ${machinename} ; then |
| sudo mkdir -p "${machinepath}" |
| + sudo mkdir -p "${TOOLBOX_TEMP_DIR}" |
| sudo chown ${USER}: "${machinepath}" |
| |
| - docker pull "${TOOLBOX_DOCKER_IMAGE}:${TOOLBOX_DOCKER_TAG}" |
| - docker create --name=${machinename} "${TOOLBOX_DOCKER_IMAGE}:${TOOLBOX_DOCKER_TAG}" /bin/true |
| - docker export ${machinename} | sudo tar -x -C "${machinepath}" -f - |
| - docker rm ${machinename} |
| + if [ ! -z "${TOOLBOX_DOCKER_IMAGE_TARBALL}" ] ; then |
| + sudo ctr image import "${TOOLBOX_DOCKER_IMAGE_TARBALL}" |
| + else |
| + sudo ctr image pull "${TOOLBOX_DOCKER_IMAGE}:${TOOLBOX_DOCKER_TAG}" |
| + fi |
| + sudo ctr containers create "${TOOLBOX_DOCKER_IMAGE}:${TOOLBOX_DOCKER_TAG}" ${machinename} /bin/true |
| + sudo ctr snapshot mounts "${TOOLBOX_TEMP_DIR}" ${machinename} | xargs sudo |
| + sudo rsync -a "${TOOLBOX_TEMP_DIR}/" "${machinepath}" |
| + sudo umount "${TOOLBOX_TEMP_DIR}" |
| + sudo ctr container rm ${machinename} |
| + sudo rm -rf "${TOOLBOX_TEMP_DIR}" |
| sudo touch ${osrelease} |
| fi |
| |
| -- |
| 2.32.0.402.g57bb445576-goog |
| |