Fix 404 issue, change APIError to more accureate ImageNotFound

Signed-off-by: Jun Guo <blackhumour.gj@gmail.com>
This commit is contained in:
Jun Guo 2017-01-04 15:31:12 +08:00
parent 09690e1758
commit c73fc26824

View File

@ -10,6 +10,7 @@ from operator import attrgetter
import enum import enum
import six import six
from docker.errors import APIError from docker.errors import APIError
from docker.errors import ImageNotFound
from docker.errors import NotFound from docker.errors import NotFound
from docker.types import LogConfig from docker.types import LogConfig
from docker.utils.ports import build_port_bindings from docker.utils.ports import build_port_bindings
@ -318,11 +319,8 @@ class Service(object):
def image(self): def image(self):
try: try:
return self.client.inspect_image(self.image_name) return self.client.inspect_image(self.image_name)
except APIError as e: except ImageNotFound:
if e.response.status_code == 404 and e.explanation and 'No such image' in str(e.explanation):
raise NoSuchImageError("Image '{}' not found".format(self.image_name)) raise NoSuchImageError("Image '{}' not found".format(self.image_name))
else:
raise
@property @property
def image_name(self): def image_name(self):