IP Library Granted Patent US 11,893,382
Granted Patent B2
US 11,893,382 · App. 17/391,515 · Granted Feb 6, 2024

Prepopulated container images repositories for CI/CD environments

Inventors: Andrea Tarocchi (Milan, IT); Paolo Antinori (Milan, IT)
Assignee: Red Hat, Inc.
G06F8/71
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 11,893,382
App. No.
17/391,515
Granted
Feb 6, 2024
Kind
B2
Abstract

A system and method for prepopulating a container image repository for continuous integration (CI/CD) environments using volumes and/or layered images. The method includes executing, by the processing device, a container image that is configured as an image repository mirror for a remote server. The method includes executing, by the processing device, an application to cause the application to provide a request for one or more images to the container image. The method includes determining, by the container image, an absence of the one or more images in the container image. The method includes retrieving, by the container image responsive to determining the absence of the one or more images, the one or more images from the remote storage. The method includes providing, by the container image, the one or more images retrieved from the remote storage to the application.

Claims (73)

1. A method comprising:

executing a plurality of commands of a text document to generate a container image that is configured as an image repository mirror for a remote server, the container image comprises a plurality of image layers that are each respectively associated with a command of the plurality of commands;

executing, by the processing device, the container image that is configured as the image repository mirror for the remote server;

executing, by the processing device, an application that is configured to provide a request for the one or more images to the remote server;

reconfiguring the application to cause the application to provide the request for one or more images to the container image instead of the remote server;

determining, using the container image, an absence of the one or more images in the container image;

retrieving, using the container image responsive to determining the absence of the one or more images, the one or more images from the remote storage; and

providing, using the container image, the one or more images retrieved from the remote storage to the application.

2. The method of claim 1 , further comprising:

storing, using the container image, the one or more images in one or more volumes of the container image.

3. The method of claim 2 , further comprising:

receiving, by the container image, a second request for the one or more images;

determining, using the container image, a presence of the one or more images in the container image;

retrieving, using the container image responsive to determining the presence of the one or more images in the container image, the one or more images from the one or more volumes of the container image; and

providing, using the container image, the one or more images retrieved from the one or more volumes of the container image to the application.

4. The method of claim 1 , further comprising:

determining, using the container image, a full set of images associated with the execution of the application by the processing device;

determining, using the container image, an absence of a subset of images of the full set of images in the container image;

retrieving, using the container image responsive to determining the absence of the subset of images, the subset of images from the remote server; and

storing, using the container image, the subset of images in one or more volumes of the container image such that the container image includes the full set of images.

5. The method of claim 4 , wherein the processing device executes the application after storing the subset of images in the one or more volumes of the container image.

6. The method of claim 1 , further comprising:

determining, using the container image, a full set of images associated with the execution of the application by the processing device;

determining, using the container image, a presence of the full set of images in the container image; and

sending, using the container image responsive to determining the presence of the full set of images in the container image, a copy of the container image to a second processing device to cause a second application executing on the second processing device to retrieve the full set of images from the copy of the container image.

7. The method of claim 1 , further comprising:

configuring, by the processing device, the container image as the image repository mirror for the remote server by mounting a directory of a file system associated with a local storage of the processing device in the container image.

8. The method of claim 1 , further comprising:

generating, by the processing device, the container image based on an empty registry image.

9. A system comprising:

a memory; and

a processing device, operatively coupled to the memory, to:

execute a plurality of commands of a text document to generate a container image that is configured as an image repository mirror for a remote server, the container image comprises a plurality of image layers that are each respectively associated with a command of the plurality of commands;

execute the container image that is configured as the image repository mirror for the remote server;

execute an application to cause the application that is configured to provide a request for the one or more images to the remote server;

reconfiguring the application to cause the application to provide the request for one or more images to the container image instead of the remote server;

determine an absence of the one or more images in the container image;

retrieve, responsive to determining the absence of the one or more images, the one or more images from the remote storage; and

provide the one or more images retrieved from the remote storage to the application.

10. The system of claim 9 , wherein the processing device is further to:

store the one or more images in one or more volumes of the container image.

11. The system of claim 9 , wherein the processing device is further to:

receive a second request for the one or more images;

determine a presence of the one or more images in the container image;

retrieve, responsive to determining the presence of the one or more images in the container image, the one or more images from the one or more volumes of the container image; and

provide the one or more images retrieved from the one or more volumes of the container image to the application.

12. The system of claim 9 , wherein the processing device is further to:

determine a full set of images associated with the execution of the application by the processing device;

determine an absence of a subset of images of the full set of images in the container image;

retrieve, responsive to determining the absence of the subset of images, the subset of images from the remote server; and

store the subset of images in one or more volumes of the container image such that the container image includes the full set of images.

13. The system of claim 12 , wherein the processing device executes the application after storing the subset of images in the one or more volumes of the container image.

14. The system of claim 9 , wherein the processing device is further to:

determine a full set of images associated with the execution of the application by the processing device;

determine a presence of the full set of images in the container image; and

send, responsive to determining the presence of the full set of images in the container image, a copy of the container image to a second processing device to cause a second application executing on the second processing device to retrieve the full set of images from the copy of the container image.

15. The system of claim 9 , wherein the processing device is further to:

configure the container image as the image repository mirror for the remote server by mounting a directory of a file system associated with a local storage of the processing device in the container image.

16. The system of claim 9 , wherein the processing device is further to:

generate the container image based on an empty registry image.

17. A non-transitory computer-readable medium storing instructions that, when execute by a processing device, cause the processing device to:

execute a plurality of commands of a text document to generate a container image that is configured as an image repository mirror for a remote server, the container image comprises a plurality of image layers that are each respectively associated with a command of the plurality of commands;

execute, by the processing device, the container image that is configured as the image repository mirror for the remote server;

execute an application that is configured to provide a request for the one or more images to the remote server;

reconfiguring the application to cause the application to provide the request for one or more images to the container image instead of the remote server;

determine, using the container image, an absence of the one or more images in the container image;

retrieve, responsive to determining the absence of the one or more images, the one or more images from the remote server; and

provide, using the container image, the one or more images retrieved from the remote storage to the application.

18. The non-transitory computer-readable medium of claim 17 , wherein the instructions, when executed by a processing device, further cause the processing device to:

receive, by the container image, a second request for the one or more images;

determine, using the container image, a presence of the one or more images in the container image;

retrieve, using the container image responsive to determining the presence of the one or more images in the container image, the one or more images from the one or more volumes of the container image; and

provide, using the container image, the one or more images retrieved from the one or more volumes of the container image to the application.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2026
From: RED HAT, INC.
To: RED HAT, LLC
Reel/Frame 074913/0759 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2021
From: TAROCCHI, ANDREA; ANTINORI, PAOLO
To: RED HAT, INC.
Reel/Frame 057219/0672 →
Continuity (1)
Related Publication 20230032901A1 · Feb 2, 2023
Cited By (2)
US 12,282,758 US 12,468,522