使用标记本地不存在图像:将图像推送到本地注册表

时间:2017-12-31 00:16:10

标签: docker push local docker-registry minikube

我正在尝试将图像推送到在minikube中运行的本地注册表,但得到以下错误:

Successfully built ee84225eb459
Successfully tagged user/apiserver:0.0.1

$ docker push localhost:5000/user/apiserver:0.0.1

The push refers to a repository [localhost:5000/user/apiserver]
An image does not exist locally with the tag: localhost:5000/user/apiserver

我已尝试使用以下方式启动minikube:

minikube start --vm-driver xhyve --insecure-registry localhost:5000
eval $(minikube docker-env)

3 个答案:

答案 0 :(得分:5)

Successfully tagged user/apiserver:0.0.1

docker push localhost:5000/user/apiserver:0.0.1

图片代码需要包含注册表名称/端口,以便将它们推送到默认注册表(docker hub)以外的任何位置。因此,您需要将图片标记为localhost:5000/user/apiserver:0.0.1而不是user/apiserver:0.0.1。然后,您就可以推送到本地注册表。

答案 1 :(得分:1)

您需要标记推送图像。标记图像时,可以使用图像标识符(imageId)。显示带有 docker images 的所有图像的列表时,将列出该列表。 语法和创建标签的示例(使用imageId)为:

docker tag <imageId or imageName> <hostname>:<repository-port>/<image>:<tag>
docker tag af340544ed62 example.com:18444/hello-world:mytag

成功创建与版本等效的标签后,您可以使用 docker images 确认其创建,并使用以下语法发出 push :< / p>

docker push <hostname>:<repository-port>/<image>:<tag>

There is an example for local nexus repository

答案 2 :(得分:-1)

我有一张照片

trip-bot                     latest     0c9e8f0367bc   36 minutes ago   955MB

我遇到了错误

<块引用>

推送指的是仓库 [docker.io/ilkhr/trip-bot] 本地不存在带有标签的图像:ilkhr/trip-bot

解决了这个问题

docker tag 0c9e8f0367bc ilkhr/trip-bot:trip-bot

之后我就这样做了

docker push ilkhr/trip-bot:trip-bot