mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-11-03 09:08:21 +00:00
This works and runs containers now, if you eg `runc exec` into it. Needs a few tweaks for rlimits, but will pull and run containers. Will integrate better with ssh/dev containers to make more usable. For a simple test use ``` ./bin/moby build examples/docker.yml ./bin/moby run hyperkit -disk-size 100 docker ``` Signed-off-by: Justin Cormack <justin.cormack@docker.com>
39 lines
819 B
Bash
Executable File
39 lines
819 B
Bash
Executable File
#!/bin/sh
|
|
|
|
set -x
|
|
|
|
mount_drive()
|
|
{
|
|
MOUNTPOINT=/var/lib/docker
|
|
|
|
mkdir -p "$MOUNTPOINT"
|
|
|
|
# TODO fix for multiple disks, cdroms etc
|
|
DEVS="$(find /dev -maxdepth 1 -type b ! -name 'loop*' ! -name 'nbd*' | grep -v '[0-9]$' | sed 's@.*/dev/@@' | sort)"
|
|
|
|
for DEV in $DEVS
|
|
do
|
|
DRIVE="/dev/${DEV}"
|
|
|
|
# see if it has a partition table
|
|
if sfdisk -d "${DRIVE}" >/dev/null 2>/dev/null
|
|
then
|
|
# 83 is Linux partition identifier
|
|
DATA=$(sfdisk -J "$DRIVE" | jq -e -r '.partitiontable.partitions | map(select(.type=="83")) | .[0].node')
|
|
if [ $? -eq 0 ]
|
|
then
|
|
mount "$DATA" "$MOUNTPOINT" && return
|
|
fi
|
|
fi
|
|
done
|
|
|
|
echo "WARNING: Failed to mount a persistent volume (is there one?)"
|
|
|
|
# not sure if we want to fatally bail here, in some debug situations it is ok
|
|
# exit 1
|
|
}
|
|
|
|
mount_drive
|
|
|
|
exec /usr/bin/dockerd
|