Ami*_*hah 4 push local docker 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
Run Code Online (Sandbox Code Playgroud)
我已经尝试用以下方式启动minikube:
minikube start --vm-driver xhyve --insecure-registry localhost:5000
eval $(minikube docker-env)
Run Code Online (Sandbox Code Playgroud)
fgu*_*gul 14
您需要标记并推送图像。标记图像时,您可以使用图像标识符 (imageId)。显示所有带有docker images 的图像列表时会列出它。创建标签的语法和示例(使用 imageId)是:
docker tag <imageId or imageName> <hostname>:<repository-port>/<image>:<tag>
docker tag af340544ed62 example.com:18444/hello-world:mytag
Run Code Online (Sandbox Code Playgroud)
成功创建可以等同于版本的标签后,您可以使用docker 镜像确认其创建并使用以下语法发出推送:
docker push <hostname>:<repository-port>/<image>:<tag>
Run Code Online (Sandbox Code Playgroud)
Иль*_*шко 13
我有一个形象
trip-bot latest 0c9e8f0367bc 36 minutes ago 955MB
Run Code Online (Sandbox Code Playgroud)
我收到错误
推送引用存储库 [docker.io/ilkhr/trip-bot] 本地不存在带有标签的图像:ilkhr/trip-bot
像这样解决了问题
$ docker tag 0c9e8f0367bc ilkhr/trip-bot:trip-bot
Run Code Online (Sandbox Code Playgroud)
之后我就这样做了
$ docker push ilkhr/trip-bot:trip-bot
Run Code Online (Sandbox Code Playgroud)
sha*_*bby 12
我遇到了同样的错误,OP 所指的是,谷歌搜索将我带到这里的确切短语,但是,就我而言,我将其推送到默认/公共存储库 (hub.docker.com) 而不是本地存储库。但事实证明问题是一样的
这是我在磁盘上创建的本地映像
[root@ip-172-31-22-195 centos]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 927311af2297 20 hours ago 193MB
Run Code Online (Sandbox Code Playgroud)
我是这样标记的:
docker tag centos devopskalsym:latest
Run Code Online (Sandbox Code Playgroud)
然后确认正在创建的标签:
[root@ip-172-31-22-195 centos]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
devopskalsym latest 927311af2297 20 hours ago 193MB
centos latest 927311af2297 20 hours ago 193MB
Run Code Online (Sandbox Code Playgroud)
由于我在docker hub 上的存储库是:devopskalsym/centos7,我尝试推送它:
docker push devopskalsym/centos7:latest
Run Code Online (Sandbox Code Playgroud)
并得到错误:
[root@ip-172-31-22-195 centos]# docker push devopskalsym/centos7:latest
The push refers to repository [docker.io/devopskalsym/centos7]
An image does not exist locally with the tag: devopskalsym/centos7
Run Code Online (Sandbox Code Playgroud)
所以我删除了标签:
[root@ip-172-31-22-195 centos]# docker rmi devopskalsym
Untagged: devopskalsym:latest
Run Code Online (Sandbox Code Playgroud)
然后使用@BMitch 提到的格式正确重新标记。
docker tag centos:latest devopskalsym/centos7:latest
Run Code Online (Sandbox Code Playgroud)
使用的格式是这样的: docker tag local-image:tagname new-repo:tagname
现在它正确显示图像:
[root@ip-172-31-22-195 centos]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
devopskalsym/centos7 latest 927311af2297 20 hours ago 193MB
centos latest 927311af2297 20 hours ago 193MB
Run Code Online (Sandbox Code Playgroud)
然后再次推它:
docker push devopskalsym/centos7:latest
Run Code Online (Sandbox Code Playgroud)
它起作用了
[root@ip-172-31-22-195 centos]# docker push devopskalsym/centos7:latest
The push refers to repository [docker.io/devopskalsym/centos7]
b7d51bf3d09e: Pushing [==================================> ] 132MB/193.3MB
Run Code Online (Sandbox Code Playgroud)
注意:您可能需要登录 docker login
小智 12
首先使用以下命令从 docker 登录开始:-
docker login
Run Code Online (Sandbox Code Playgroud)
然后用这个命令检查你的图像ID/标签
docker images
Run Code Online (Sandbox Code Playgroud)
获得图像 ID/标签后,使用此命令推送到 dockerhub 存储库
docker tag <imageId or tag> <dockerhub id>/<imagename>:<tag>
Run Code Online (Sandbox Code Playgroud)
或者对于一般情况你可以使用
docker tag <imageId or tag> <hostname>:<repository-port>/<imagename>:<tag>
Run Code Online (Sandbox Code Playgroud)
注意将尖括号替换为您的具体信息
Successfully tagged user/apiserver:0.0.1
docker push localhost:5000/user/apiserver:0.0.1
Run Code Online (Sandbox Code Playgroud)
图像标记需要包含注册表名称/端口,以便将它们推送到默认注册表(docker hub)以外的任何位置.所以你需要标记你的图像localhost:5000/user/apiserver:0.0.1而不是user/apiserver:0.0.1.然后,您将能够推送到本地注册表.
| 归档时间: |
|
| 查看次数: |
16095 次 |
| 最近记录: |