1e15b6e001
Previously, the strategy for avoiding lots of rebuilding and repulling for each Docker version being tested was to use a mountpoint to persist /var/lib/docker. This was pretty broken, and may not be a reliable strategy. This commit changes the scripts to instead build/pull images outside the innermost container, and copy them to the final test environment with docker save/docker load. This requires a fair amount of changes, since run.sh must now communicate with the Docker engine that was formerly started by test_runner.sh. The code that starts this engine has been broken out to run_engine.sh so that starting the engine and running the tests under it can be done separately (with the images loaded in between these steps). Signed-off-by: Aaron Lehmann <aaron.lehmann@docker.com>
21 lines
523 B
Bash
21 lines
523 B
Bash
# Start docker daemon
|
|
function start_daemon() {
|
|
# Drivers to use for Docker engines the tests are going to create.
|
|
STORAGE_DRIVER=${STORAGE_DRIVER:-overlay}
|
|
EXEC_DRIVER=${EXEC_DRIVER:-native}
|
|
|
|
docker --daemon --log-level=panic \
|
|
--storage-driver="$STORAGE_DRIVER" --exec-driver="$EXEC_DRIVER" &
|
|
DOCKER_PID=$!
|
|
|
|
# Wait for it to become reachable.
|
|
tries=10
|
|
until docker version &> /dev/null; do
|
|
(( tries-- ))
|
|
if [ $tries -le 0 ]; then
|
|
echo >&2 "error: daemon failed to start"
|
|
exit 1
|
|
fi
|
|
sleep 1
|
|
done
|
|
}
|