microsoft / microsoft/WSL

Feature Request: Support copying/retagging container images between registries (similar to `docker buildx imagetools create`)

Open
#41,064 2 comments 2 reactions 0 assignees View on GitHub
feature wslc
Dominant language
C++
Stars
33.7k
Forks
1.8k
Avg merge
3d 17h
Merged PRs (30d)
116

Description

### **Is your feature request related to a problem? Please describe.**

I frequently need to copy or retag container images from one registry to another without pulling the image locally. Docker provides this capability through:

```
docker buildx imagetools create --tag cr.example.net/common/buildkit:v0.31.0 moby/buildkit:v0.31.0
```

This command allows creating a new manifest list or image reference directly in the target registry, which is extremely useful for cross‑registry image management.

However, **WSLC currently does not appear to support any equivalent functionality**, making it difficult to perform registry‑to‑registry image copying within the WSLC workflow. As a result, I must fall back to Docker or other external tools, which breaks the consistency of using WSLC as the unified container tool.

### **Describe the solution you'd like**

I would like WSLC to support a feature that enables:

- Creating a new image tag in a target registry based on an existing image in a source registry.
- Copying or reconstructing manifest lists and single‑platform manifests without pulling layers.
- Supporting common operations such as:
- `--tag`
- `--append`
- `--annotation`
- platform filtering
- Operating purely at the registry/manifest level, similar to `docker buildx imagetools create`.

In short, WSLC should provide a **registry‑side image copy/retag/manifest‑creation command**.

### **Describe alternatives you've considered**

- Using Docker’s `buildx imagetools create`, which works but requires installing Docker and maintaining a separate toolchain.
- Pulling and pushing images manually, which is inefficient and slow, especially for large or multi‑platform images.
- Using third‑party tools such as ORAS, which adds extra dependencies and is less convenient than having native support in WSLC.

### **Additional context**

Docker’s[ `imagetools create`](https://docs.docker.com/reference/cli/docker/buildx/imagetools/create/) command provides a clear example of the desired functionality.
The ability to manipulate manifests directly in registries is essential for modern multi‑platform image workflows.

Adding this capability to WSLC would significantly improve registry operations and streamline workflows for users who rely on WSLC as their primary container tool.

Contributor guide

Open the contributing guide

Research direction

The issue names no WSL files, tests, or command entry points. Start by comparing the requested registry-side behavior with Docker’s `buildx imagetools create` documentation and identify the existing WSL container or registry workflow to extend. Done means supporting image copying, retagging, manifest creation, annotations, append operations, and platform filtering without pulling layers.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker
Domain
cli, devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.