Closed lichunqiang closed 3 weeks ago
Thanks for reaching out.
The log is too short to tell, and anyway there is not that much debug logging in these code paths. I’d suspect c/image/v5/docker/daemon.newImageSource
: If I remember correctly, the docker save
code (involved here) first creates a complete filesystem representation; then Skopeo copies it to a temporary file; and afterwards the “No compression detected” message is probably printed.
Fundamentally that’s just the cost of using inefficient docker save
and docker-daemon:
. Triggering a docker push
directly to a registry is quite likely to be much more efficient, especially for repeated pushes or reused layers.
First of all, thank you for your reply! @mtrmac
As you said, the scenario docker push
is the best solution. But the current issue we are facing is:
The machine that can execute docker push
does not have high enough permissions to modify /etc/hosts
to support domain name resolution to an IP address, while skopeo supports --dest-daemon-host
so we can directly specify the destination address as an IP.
$ docker push my-prviate-registry.awesome.com/hello-world:latest
my-prviate-registry.awesome.com ---> This is a self-built registry domain name that needs to be resolved to a specified IP address through other means.
Any better suggestions? thanks
How to locate the time gap between the last two lines of output in the screenshot?
Even if the same image is copied repeatedly, it takes nearly 3 minutes.
the command
skopeo version 1.2.4
additonal, the docker image size is 26G