<p>I'm setting up a Kubernetes cluster with windows nodes. I accidentally created a local image in the default namespace.</p>
<p>As shown by <code>ctr image ls</code>, my image is in the <strong>default namespace</strong>:</p>
<pre><code>REF                                 TYPE                                                   DIGEST       SIZE      PLATFORMS     LABELS
docker.io/library/myimage:latest   application/vnd.docker.distribution.manifest.v2+json   sha256:XXX   6.3 GiB   windows/amd64 -
</code></pre>
<p>Therefore, Kubernetes <strong>cannot find the image while creating the pod</strong> (<code>ErrImageNeverPull</code>,  <code>imagePullPolicy</code> is set to <code>Never</code>). The reason for this is, the image isn't in the right <strong>namespace k8s.io</strong>:<br />
The command <code>ctr --namespace k8s.io image ls</code> shows the base Kubernetes images:</p>
<pre><code>REF                                                  TYPE                                                       DIGEST       SIZE       PLATFORMS                               LABELS
mcr.microsoft.com/oss/kubernetes/pause:3.6           application/vnd.docker.distribution.manifest.list.v2+json  sha256:XXX   3.9 KiB    linux/amd64,linux/arm64,windows/amd64   io.cri-containerd.image=managed
mcr.microsoft.com/oss/kubernetes/pause@sha256:DIGEST application/vnd.docker.distribution.manifest.list.v2+json  sha256:XXX   3.9 KiB    linux/amd64,linux/arm64,windows/amd64   io.cri-containerd.image=managed
...
</code></pre>
<p>The most straight-forward approach I tried, was exporting the image, deleting the image, and importing the image with different namespace. (as mentioned on a <a href="https://github.com/kubernetes-sigs/cri-tools/issues/546#issuecomment-646909445" rel="nofollow noreferrer">Github comment in the cri-tools project</a>)</p>
<pre><code>ctr --namespace k8s.io image import --base-name foo/myimage container_import.tar
</code></pre>
<p>It works. But I wonder, if there is any shorter (less time consuming) way than re-importing the image.
(Maybe by running a simple command or changing a text file.)</p>
<hr />
<p>To clarify my question: I have one node with a container stored in namespace &quot;default&quot;. I want to have the same container stored in namespace &quot;k8s.io&quot; on the same node.
What else can I do, instead of running the following two (slow) commands?</p>
<pre><code>ctr -n default image export my-image.tar my-image
ctr -n k8s.io image import my-image.tar
</code></pre>
<p>I assume a more faster way of renaming the namespace, since it is just editing some meta data.</p>

Tim Wißmann
<p>As @ P Ekambaram suggested, the <code>podman save</code> and <code>podman load</code> commands let you share images across multiple servers and systems when they aren't available locally or remotely.</p>
<p>You can use <a href="https://www.redhat.com/sysadmin/share-container-image-podman-save#:%7E:text=The%20%60podman%20save%60%20and%20%60,t%20available%20locally%20or%20remotely.&amp;text=Container%20images%20are%20the%20foundations%20that%20containers%20run%20on." rel="nofollow noreferrer">Podman</a> to manage images and containers.</p>
<p>The podman save command saves an image to an archive, making it available to be loaded on another server.</p>
<p>For instance, to save a group of images on a host named servera:</p>
<pre><code>[servera]$ podman save --output images.tar \
docker.io/library/redis \
docker.io/library/mysql \
registry.access.redhat.com/ubi8/ubi \
registry.access.redhat.com/ubi8/ubi:8.5-226.1645809065 \
quay.io/centos7/mysql-80-centos7 docker.io/library/nginx
</code></pre>
<p>Once complete, you can take the file images.tar to serverb and load it with podman load:</p>
<pre><code>[serverb]$ podman load --input images.tar
</code></pre>
<p>The newly released <a href="https://www.redhat.com/sysadmin/podman-transfer-container-images-without-registry" rel="nofollow noreferrer">Podman 4.0</a> includes the new <code>podman image scp</code> command, a useful command to help you manage and transfer container images.</p>
<p>With Podman's podman image scp, you can transfer images between local and remote machines without requiring an image registry.</p>
<p>Podman takes advantage of its SSH support to copy images between machines, and it also allows for local transfer. Registryless image transfer is useful in a couple of key scenarios:</p>
<p>Doing a local transfer between users on one system
Sharing images over the network</p>
