diff --git a/CHANGES b/CHANGES index bdde4480f..58666e671 100644 --- a/CHANGES +++ b/CHANGES @@ -2124,4 +2124,5 @@ * branding: footer can have template variables like %YEAR% and %VERSION% * sftp: secure the API with a token * filemanager: Add extract context menu item +* Do not download docker images if present locally diff --git a/src/docker.js b/src/docker.js index 9bd839bcb..d3883f2ed 100644 --- a/src/docker.js +++ b/src/docker.js @@ -170,13 +170,19 @@ function downloadImage(manifest, callback) { debug('downloadImage %s', manifest.dockerImage); - var attempt = 1; + const image = gConnection.getImage(manifest.dockerImage); - async.retry({ times: 10, interval: 5000, errorFilter: e => e.reason !== BoxError.NOT_FOUND }, function (retryCallback) { - debug('Downloading image %s. attempt: %s', manifest.dockerImage, attempt++); + image.inspect(function (error, result) { + if (!error && result) return callback(null); // image is already present locally - pullImage(manifest, retryCallback); - }, callback); + let attempt = 1; + + async.retry({ times: 10, interval: 5000, errorFilter: e => e.reason !== BoxError.NOT_FOUND }, function (retryCallback) { + debug('Downloading image %s. attempt: %s', manifest.dockerImage, attempt++); + + pullImage(manifest, retryCallback); + }, callback); + }); } function getBindsSync(app) {