Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Redundant Blob Copying and Storing When Loading Images on the Same Host #47968

Open
mike-sul opened this issue Jun 13, 2024 · 0 comments
Open
Labels
kind/feature Functionality or other elements that the project doesn't currently have. Features are new and shiny status/0-triage

Comments

@mike-sul
Copy link
Contributor

Description

The /images/load interface and its current implementation require that all image blobs (including config and layers) be transferred through the POST request body. These blobs are temporarily stored in the <docker-data-root>/tmp/ directory before they are extracted and injected into the Docker store.

This process of transferring and storing blobs in the "tmp" directory introduces redundancy, especially when the client making the HTTP POST /images/load request is located on the same host as the Docker daemon. In such cases, the blobs are already present on the filesystem, making the temporary storage step unnecessary.

To optimize this process, the handler implementation could directly read the blobs from their original location on the filesystem and inject them into the Docker store, bypassing the redundant transfer and temporary storage steps.

@mike-sul mike-sul added kind/feature Functionality or other elements that the project doesn't currently have. Features are new and shiny status/0-triage labels Jun 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Functionality or other elements that the project doesn't currently have. Features are new and shiny status/0-triage
Projects
None yet
Development

No branches or pull requests

1 participant