现有azure注册表的更新映像不工作

现有azure注册表的更新映像不工作,azure,docker,azure-web-app-service,docker-push,Azure,Docker,Azure Web App Service,Docker Push,我是docker的新手,我正在尝试更新azure网站上的现有web服务。在构建图像后,我做了以下工作: docker login <regname>.azurecr.io # Successfully logged in docker tag <myimage> <regname>.azurecr.io/<servicename> docker push <regname>.azurecr.io/<servicename>

我是docker的新手,我正在尝试更新azure网站上的现有web服务。在构建图像后,我做了以下工作:

docker login <regname>.azurecr.io  # Successfully logged in
docker tag <myimage> <regname>.azurecr.io/<servicename>
docker push <regname>.azurecr.io/<servicename>
docker login.azurecr.io#成功登录
docker tag.azurecr.io/
docker push.azurecr.io/
这就是我得到的:

C:\Users\user> docker push <regname>.azurecr.io/<servicename>
The push refers to repository [<regname>.azurecr.io/<servicename>]
8338876046a2: Preparing
9b4cb369a379: Preparing
769a276cd781: Preparing
486305c59459: Preparing
c36e2873b733: Preparing
130ae36f8cc8: Preparing
bc6b4902b79e: Preparing
f3d44e887388: Preparing
4a39ef7ed1bb: Preparing
4c5aab3548b9: Preparing
ec348085b0e6: Preparing
c2be8853e0b2: Preparing
0f1151f5fc99: Preparing
00399b079947: Preparing
c82d454eb914: Preparing
b25487d1db04: Preparing
e367fb455ccf: Preparing
bc6b4902b79e: Pushed
57df5852e66c: Layer already exists
d788ea03fce1: Layer already exists
1ffa9e6f04f1: Layer already exists
377e5b96eca6: Layer already exists
90dd0108373f: Layer already exists
eb8fe74986a4: Layer already exists
e2a005b711f9: Layer already exists
3a29b9e0627a: Layer already exists
ca4c28881d11: Layer already exists
33614d3265ba: Layer already exists
270f4d759cc3: Layer already exists
0fa80309f3d6: Layer already exists
4e1d0b4d1868: Layer already exists
910d7fd9e23e: Pushed
4230ff7f2288: Pushed
2c719774c1e1: Layer already exists
ec62f19bb3aa: Layer already exists
f94641f1fe1f: Layer already exists
latest: digest: 
sha256:5d2729ae576349b158acc6c480acdde3899e2c6a9445966bb7e8d291677e11dd size: 7866
C:\Users\user>docker push.azurecr.io/
推送引用存储库[.azurecr.io/]
8338876046a2:准备
9b4cb369a379:准备
769a276cd781:准备
486305c59459:准备
c36e2873b733:准备
130ae36f8cc8:准备
bc6b4902b79e:准备
f3d44e887388:准备
4a39ef7ed1bb:准备
4c5aab3548b9:准备
ec348085b0e6:准备
c2be8853e0b2:准备
0f1151f5fc99:正在准备
00399b079947:准备
c82d454eb914:准备
b25487d1db04:准备
e367fb455ccf:准备
bc6b4902b79e:已按下
57df5852e66c:层已存在
d788ea03fce1:层已存在
1ffa9e6f04f1:层已存在
377e5b96eca6:层已存在
90dd0108373f:层已存在
eb8fe74986a4:层已存在
e2a005b711f9:层已存在
3a29b9e0627a:层已存在
ca4c28881d11:层已存在
33614d3265ba:层已存在
270f4d759cc3:层已存在
0fa80309f3d6:层已存在
4e1d0b4d1868:层已存在
910d7fd9e23e:按下
4230ff7f2288:按下
2c719774c1e1:层已存在
ec62f19bb3aa:层已存在
F94641FE1F:层已存在
最新:摘要:
sha256:5D2729AE576349B158ACC6C480ACDDE389E2C6A9445966BB7E8D291677E11DD尺寸:7866
注意:该“层已存在”来自我之前的推送。我不得不推两次,因为在某些层中,它不断地重试,然后到达EOF并停止。所以在第一次推的时候,我推了大部分的图层,然后在第二次推的时候,剩下的图层第一次推不动了。问题就在这里吗

我想要推送的新图像与旧图像完全不同(它们都是烧瓶应用程序)

在上述操作之后,我转到azure门户并重新启动了该资源的服务,但什么也没发生。azure服务保持不变,新功能尚未添加

我读过其他帖子,认为问题在于标签名。我找不到解决这个问题的方法,因为我想更新azure注册表中的现有映像(这是否意味着标记名将是相同的?)


是否有其他人遇到此问题,或者可能知道我做错了什么?

对于您的问题,您只需要通知Web应用程序进行更新。然后,在更新图像之前,您需要为您的Web应用程序创建一个Webhook。在接下来的步骤中进行描述。有关更多详细信息,请参阅。

您不应该更新相同的图像(标签应该是相同的,这是正确的)。这样做没有任何意义,那么我如何更新azure web服务呢?例如,我应该使用
docker-tag.azurecr.io/:v2
来指定新版本吗?标记图像,然后用标签推动它-
docker-push.azurecr.io/:
好的,我创建了另一个标签并推动了它。我可以在Azure门户中看到新标记,但如何激活它?我需要能够将POST请求发送到相同的URL,但使用新的图像标记。可能您没有为您的Web应用设置Webhook。看一看。谢谢你的回答。我看过这个教程,但没有帮助。原来我不应该在为更新版本的图像添加标签时使用
:latest
(因为
:latest
是从已上载的图像中获取的)。我使用了
.azurecr.io/:v2
,效果很好。这是我在新秀中犯的错误。我会投票支持你的答案,因为它可能会帮助其他为此而挣扎的人。@geoph9为什么不呢,这是一个持续部署的环境。如果您使用相同的名称和标签重建图像,推送操作将触发webhook以使用重建图像更新web应用程序。