From 4e795c423f5129b212ed909407828b9fbc696f86 Mon Sep 17 00:00:00 2001 From: Sergey Biryukov Date: Tue, 7 Mar 2023 09:07:25 +0000 Subject: [PATCH] Build/Test Tools: Check if the Docker is available when running `npm run env:start`. This aims to display a more helpful error message if the Docker service is not running. Follow-up to [45783], [45819]. Props mkox, cnspecialcolor, pento, hasanuzzamanshamim, bgoewert, robinwpdeveloper, costdev, mukesh27. Fixes #51898. git-svn-id: https://develop.svn.wordpress.org/trunk@55473 602fd350-edb4-49c9-b593-d223f7449a82 --- tools/local-env/scripts/start.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tools/local-env/scripts/start.js b/tools/local-env/scripts/start.js index 35edf7f96f..df27a67a62 100644 --- a/tools/local-env/scripts/start.js +++ b/tools/local-env/scripts/start.js @@ -4,6 +4,17 @@ const { execSync } = require( 'child_process' ); dotenvExpand.expand( dotenv.config() ); +// Check if the Docker service is running. +try { + execSync( 'docker info' ); +} catch ( e ) { + if ( e.message.startsWith( 'Command failed: docker info' ) ) { + throw new Error( 'Could not retrieve Docker system info. Is the Docker service running?' ); + } + + throw e; +} + // Start the local-env containers. const containers = ( process.env.LOCAL_PHP_MEMCACHED === 'true' ) ? 'wordpress-develop memcached'