我想知道docker swarm and gcr是否有问题,或者GCR是否正在遇到一些延迟。
我将新标记的图像推到GCR上,但是我的群集上的节点不可用。他们从gcr中汲取了其他五个完全相同的图像的版本。
这是我的推动:
docker push gcr.io/me/myimage:0.0.5
The push refers to repository [gcr.io/me/myimage]
310bd8913b53: Layer already exists
20d2e739cce3: Layer already exists
328545f2b7b7: Layer already exists
087a146ecf85: Layer already exists
78da480ad576: Layer already exists
7ff93b2699ab: Layer already exists
f58cfeda9e5f: Layer already exists
33aed7748ee3: Layer already exists
0e0b4ee1c6dc: Layer already exists
ff57bdb79ac8: Layer already exists
6e5e20cbf4a7: Layer already exists
86985c679800: Layer already exists
8fad67424c4e: Layer already exists
0.0.5: digest: sha256: ... size: 3053
然后尝试扩展到新图像显示:
$ docker service scale is_app=1
is_app scaled to 1
overall progress: 0 out of 1 tasks
1/1: No such image: gcr.io/me/myimage:0.0.5
,如果我在MyImage服务上重新创建堆栈并运行docker service ps --no-trunc
,我会得到...
docker service ps is_app --no-trunc
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
6accpgxjdfq936vsoco8qa9cc is_app.1 gcr.io/me/myimage:0.1.0 app-swarm-w1 Ready Rejected less than a second ago "No such image: gcr.io/me/myimage:0.1.0"
e69xzn1m9vp6kcj0m9gy95fvd _ is_app.1 gcr.io/me/myimage:0.1.0 app-swarm-m0 Shutdown Rejected 20 seconds ago "No such image: gcr.io/me/myimage:0.1.0"
gojagqi0vjh5y088xgn99xbg9 _ is_app.1 gcr.io/me/myimage:0.1.0 app-swarm-m0 Shutdown Rejected 25 seconds ago "No such image: gcr.io/me/myimage:0.1.0"
ya3f0g8lji4522em0ge78gfg9 _ is_app.1 gcr.io/me/myimage:0.1.0 app-swarm-m0 Shutdown Rejected 30 seconds ago "No such image: gcr.io/me/myimage:0.1.0"
les1emnyzvghzjlxa5huysa9n _ is_app.1 gcr.io/me/myimage:0.1.0 app-swarm-m0 Shutdown Rejected 36 seconds ago "No such image: gcr.io/me/myimage:0.1.0"
但是,如果我将docker-machine ssh
运行到机器中并运行gcloud container images list-tags gcr.io/me/myimage:0.0.5
,则显示:
DIGEST TAGS TIMESTAMP
007300edd521 0.0.5 2018-04-26T05:42:36
46a297a45f61 0.0.4 2018-04-26T00:31:35
ff8160e40214 0.0.3 2018-04-26T00:22:32
ec4517dbae67 0.0.2 2018-04-25T23:09:53
b9f3400a298c 0.0.1 2018-04-25T20:02:55
0244b39f532e 0 2018-04-24T20:01:51
因此存在。Docker Swarm捡起它需要多长时间?这是正常的吗?有一些解决方法吗?
显然我忘了将--with-registry-auth
传递给docker stack deploy
,这会影响与GCR的连接。这解决了问题。