diff --git a/lib/datasource/docker.js b/lib/datasource/docker.js
index 4abd861784125f062942ad354660b687df9b1401..35f1b3a1be18cf41c052dea31702580f5747421f 100644
--- a/lib/datasource/docker.js
+++ b/lib/datasource/docker.js
@@ -46,12 +46,34 @@ async function getDigest(name, tag = 'latest') {
     logger.debug({ digest }, 'Got docker digest');
     return digest;
   } catch (err) {
+    // istanbul ignore if
+    if (err.statusCode === 401) {
+      logger.info(
+        { err, body: err.response ? err.response.body : undefined, name, tag },
+        'Lookup is unauthorized (private image)'
+      );
+      return null;
+    }
+    // istanbul ignore if
+    if (err.statusCode === 404) {
+      logger.info(
+        { err, body: err.response ? err.response.body : undefined, name, tag },
+        'Docker Manifest is unknown'
+      );
+      return null;
+    }
     // istanbul ignore if
     if (err.statusCode >= 500 && err.statusCode < 600) {
-      logger.warn({ err }, 'docker registry failure: internal error');
+      logger.warn(
+        { err, body: err.response ? err.response.body : undefined, name, tag },
+        'docker registry failure: internal error'
+      );
       throw new Error('registry-failure');
     }
-    logger.info({ err, name, tag }, 'Error looking up docker image digest');
+    logger.info(
+      { err, body: err.response ? err.response.body : undefined, name, tag },
+      'Unknown Error looking up docker image digest'
+    );
     return null;
   }
 }