sudo docker run -d -p 5000:5000 --restart always --name registry registry:2
sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1707fb042a43 registry:2 "/entrypoint.sh /etc…" 4 days ago Up 2 hours 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp registry
I have image need to push to my private registry
sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
coinbase latest 7bfb7cc3d51c 11 months ago 781MB
When I try to push my image to my private registry
sudo docker push localhost:5000/coinbase:latest
docker answer me:
The push refers to repository [localhost:5000/coinbase]
An image does not exist locally with the tag: localhost:5000/coinbase
Why? It looks as don’t understanding that localhost:5000 is URL of my private registry. Where is mistake?
It’s not really RE-naming it is creating an additional fully qualified name which includes the registry alias. Your original image name has an implicit docker.io registry alias. Thus, when you list images you will see both.
You are right of course. I was afraid of using the word “rename” because my commands did not do that. It is not like docker rename old_container new_container. Although it could be using a cli plugin like
#!/usr/bin/env bash
set -eu -o pipefail
if [[ "$1" == "docker-cli-plugin-metadata" ]]; then
echo '{
"SchemaVersion":"0.1.0",
"Vendor":"Akos Takacs",
"Version":"0.0.1",
"ShortDescription":"Rename images"
}'
exit 0
fi
shift
case "$1" in
renameimage)
old_name=$2
new_name=$3
docker image tag $old_name $new_name
docker image rm $old_name
;;
esac