예제 #1
0
 def GetImage(self, request, context):
     response = Manager.GetImage_Response()
     try:
         image = ImageUtils.GetImage(image_id=request.image_id)
     except docker.errors.ImageNotFound:
         response.exit_code = Manager.GetImage_Response.ExitCode.NOTFOUND
         return response
     response.exit_code = Manager.GetImage_Response.ExitCode.SUCCESS
     response.image_attr.id = image['Id']
     for tag in image['RepoTags']:
         temp = response.image_attr.repoTags.add()
         temp = tag
     response.image_attr.created = image['Created']
     response.image_attr.size = int(image['Size'])
     response.image_attr.author = image['Author']
     return response
예제 #2
0
 def LoadImage(self, request, context):
     g = GenerateData(request)
     response = Manager.LoadImage_Response()
     try:
         List = ImageUtils.LoadImage(g)
     except docker.errors.ImageLoadError:
         response.exit_code = Manager.LoadImage_Response.ExitCode.ERROR
         return response
     response.exit_code = Manager.LoadImage_Response.ExitCode.SUCCESS
     for image_obj in List:
         image = ImageUtils.GetImage(image_obj.id)
         image_attr = response.image_attr.add()
         for tag in image['RepoTags']:
             temp = image_attr.repoTags.add()
             temp = tag
         image_attr.created = image['Created']
         image_attr.size = int(image['Size'])
         image_attr.author = image['Author']
     return response
예제 #3
0
 def BuildImage(self, request, context):
     response = Manager.BuildImage_Response()
     dockerfile = TemporaryFile()
     dockerfile.write(request.dockerfile)
     # print("-------")
     dockerfile.seek(0)
     image_obj = ImageUtils.BuildImageByFile(dockerfile, request.tag)
     # try:
     # except docker.errors.APIError:
     #     response.exit_code = Manager.BuildImage_Response.ExitCode.ERROR
     #     return response
     response.exit_code = Manager.BuildImage_Response.ExitCode.SUCCESS
     image = ImageUtils.GetImage(image_obj.id)
     response.image_attr.id = image['Id']
     for tag in image['RepoTags']:
         response.image_attr.repoTags.append(tag)
     response.image_attr.created = image['Created']
     response.image_attr.size = int(image['Size'])
     response.image_attr.author = image['Author']
     return response