IP Library › Granted Patent US 12,056,511
Granted Patent B2
US 12,056,511 · App. 17/093,355 · Granted Aug 6, 2024

Container image creation and deployment using a manifest

Inventors: Vasily Tarasov (Moorpark, CA); Lukas Rupprecht (San Jose, CA)
Assignee: International Business Machines Corporation
G06F9/455G06F9/45558G06F9/5077G06F9/54G06F9/545G06F16/13G06F16/137G06F16/188G06F16/196G06F2009/45562G06F2009/45579
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,056,511
App. No.
17/093,355
Granted
Aug 6, 2024
Kind
B2
Abstract

A computer-implemented method according to one embodiment includes receiving a request to create a container; retrieving a manifest for a container image of the container; and mounting a file system for the container, utilizing the manifest.

Claims (72)

1. A computer-implemented method, comprising:

receiving a request to create a container;

retrieving a manifest for a container image of the container;

creating the container, including mounting a file system for the container utilizing data from the manifest, wherein only the data from the manifest is used to create the file system for the container without fetching any file data;

after creation of the container, identifying, by the file system mounted for the container, a request to access data within the container image of the container;

determining, utilizing the manifest for the container image, whether the requested data is located locally in a cache;

retrieving the requested data from the cache in response to determining that the manifest for the container image indicates that the requested data is stored locally at the cache; and

retrieving the requested data from a content store in response to determining that the manifest for the container image indicates that the requested data is not available locally at the cache.

2. The computer-implemented method of claim 1 , wherein:

the container image consists essentially of a plurality of files needed to create the container at a node of a cluster of computing nodes and metadata describing the plurality of files within the container image.

3. The computer-implemented method of claim 1 , wherein the file system for the container is mounted on a node of a computing system, wherein the container image is not stored on the node where the file system is mounted.

4. The computer-implemented method of claim 1 , wherein the manifest includes one or more inode descriptors and file hashes, wherein the inode descriptor is used to retrieve the requested data from the content store in response to determining that the manifest for the container image indicates that the requested data is not available locally at the cache.

5. A computer-implemented method of claim 1 , comprising:

receiving a command to install a software package in the running container;

retrieving a metadata package for the software package;

installing the software package in the running container, utilizing the metadata package;

identifying a need for a file during the installation of the software package; and

retrieving the file, utilizing the metadata package.

6. A computer-implemented method, comprising:

receiving a request to create a container;

retrieving a manifest for a container image of the container, the manifest having file names and metadata;

mounting a file system for the container on a node of a computing system utilizing data from the manifest; and

creating the container,

wherein only the data from the manifest is used to create the file system for the container without fetching any file data,

wherein the container image is not stored on the node where the file system is mounted.

7. The computer-implemented method of claim 6 , further comprising:

identifying, by the file system mounted for the container, a request to access data within the container image of the container;

determining a location of the data utilizing a manifest for the container image; and

retrieving the data, utilizing the location of the data.

8. The computer-implemented method of claim 7 , wherein the request to access the data includes a request from an application within the container to read data within the container image.

9. The computer-implemented method of claim 7 , wherein the location of the data is included within metadata stored within the manifest.

10. The computer-implemented method of claim 7 , wherein the manifest includes content-based addresses for files.

11. The computer-implemented method of claim 7 , further comprising retrieving the data from a cache in response to determining that the manifest for the container image indicates that the data is stored locally at the cache.

12. The computer-implemented method of claim 7 , further comprising retrieving the data from a content store via a communications network in response to determining that the manifest for the container image indicates that the data is not stored locally at a cache.

13. The computer-implemented method of claim 6 , comprising:

identifying, by the file system mounted for the container, a request from an application within the container to read data within the container image of the container;

determining a location of the data within the container image utilizing a manifest for the container image; and

retrieving the data from the container, utilizing the location of the data.

14. A computer program product for deploying a container image, the computer program product comprising a non-transitory computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to perform a method comprising:

receiving, by the processor, a request to create a container;

retrieving, by the processor, a manifest for a container image of the container;

mounting, by the processor, a file system for the container utilizing data from the manifest, wherein only the data from the manifest is used to create the file system for the container without fetching any file data;

after creation of the container, identifying, by the processor, a request to access data within the container image of the container;

determining, utilizing a manifest for the container image, whether the requested data is located locally in a cache;

retrieving the requested data from the cache in response to determining that the manifest for the container image indicates that the requested data is stored locally at the cache; and

retrieving the requested data from a content store in response to determining that the manifest for the container image indicates that the requested data is not stored locally at the cache.

15. The computer program product of claim 14 , wherein:

the container image includes a plurality of files needed to create the container at a node of a cluster of computing nodes, and

the manifest for the container image includes metadata describing the plurality of files within the container image.

16. The computer program product of claim 14 , wherein the manifest is retrieved from a repository.

17. The computer program product of claim 14 , wherein the manifest includes one or more inode descriptors and file hashes.

18. The computer program product of claim 14 , wherein the request to access the requested data includes a file read request.

19. The computer program product of claim 14 , wherein the location of the requested data is included within metadata stored within the manifest.

20. The computer program product of claim 14 , comprising program instructions executable by the processor to cause the processor to create, by the processor, the container.

21. The computer program product of claim 20 , wherein the manifest consists essentially of metadata used to mount the file system and pointers to file data included with the container image.

22. The computer program product of claim 14 , comprising program instructions executable by the processor to cause the processor to:

create, by the processor, the container;

receive, by the processor, a command to install a software package in the running container;

retrieve, by the processor, a metadata package for the software package;

install, by the processor, the software package in the running container, utilizing the metadata package;

identify, by the processor, a need for a file during the installation of the software package; and

retrieve, by the processor the file utilizing the metadata package.

23. A system, comprising:

a processor; and

logic integrated with the processor, executable by the processor, or integrated with and executable by the processor, the logic being configured to:

receive a request to create a container;

retrieve a manifest for a container image of the container;

mount a file system for the container utilizing data from the manifest, wherein only the data from the manifest is used to create the file system for the container without fetching any file data;

after creation of the container, identify a request to access data within the container image of the container;

determine, utilizing the manifest for the container image, whether the requested data is located locally in a cache; and

retrieve the requested data from the cache in response to determining that the manifest for the container image indicates that the requested data is stored locally at the cache; and

retrieve the requested data from a content store in response to determining that the manifest for the container image indicates that the requested data is not available locally at the cache.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2020
From: TARASOV, VASILY; RUPPRECHT, LUKAS
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 054568/0789 →
Continuity (1)
Related Publication 20220147378A1 · May 12, 2022
Cited By (2)
US 12,282,758 US 12,468,522