簡體   English   中英

Docker Swarm:服務繼續准備就緒並關閉

[英]Docker Swarm: Service keep on getting Ready & Shutdown

我有幾個 docker 群節點,當嘗試使用以下命令在 Leader 上創建service時。 服務創建過程仍在進行中,現在已經超過 40 分鍾。

docker service create \
 --mode global \
 --mount type=bind,src=/project/m32/,dst=/root/m32/ \
 --publish mode=host,target=310,published=310 \
 --publish mode=host,target=311,published=311 \
 --publish mode=host,target=312,published=312 \
 --publish mode=host,target=313,published=313 \
 --constraint "node.labels.m32 == true" \
 --name m32 \
 local-registry/ubuntu:07 
overall progress: 1 out of 2 tasks
ew0edluvz39p: ready     [======================================>            ]
kzc7jf7irsrh: running   [==================================================>]

從服務過程開始,一直顯示為ReadyShutdown

$ docker service ps m32
ID             NAME                                IMAGE                                        NODE      DESIRED STATE      CURRENT STATE   ERROR     PORTS
s4q0rqrqbpdn   m32.ew0edluvz39pazold0wnv2ean       local-registry/ubuntu:07   sl-089   Ready            Ready 1 second ago                
r6vibgptm5oc    \_ m32.ew0edluvz39pazold0wnv2ean   local-registry/ubuntu:07   sl-089   Shutdown         Complete 1 second ago             
joq2p6c9jpnx    \_ m32.ew0edluvz39pazold0wnv2ean   local-registry/ubuntu:07   sl-089   Shutdown         Complete 7 seconds ago            
a5h8gac02vfx    \_ m32.ew0edluvz39pazold0wnv2ean   local-registry/ubuntu:07   sl-089   Shutdown         Complete 13 seconds ago           
f51stfsdlhvp    \_ m32.ew0edluvz39pazold0wnv2ean   local-registry/ubuntu:07   sl-089   Shutdown         Complete 19 seconds ago           
zqcbxkm4fwhr   m32.kzc7jf7irsrhnx3kurcwqjb2j       local-registry/ubuntu:07   sl-090   Ready            Ready less than a second ago      
za8efvi9x4yw    \_ m32.kzc7jf7irsrhnx3kurcwqjb2j   local-registry/ubuntu:07   sl-090   Shutdown         Complete less than a second ago  
$ sudo systemctl status docker.service

Nov 24 19:58:48 svr2 dockerd[2797]: time="2021-11-24T19:58:48.200421563+05:30" level=info msg="ignoring event" container=ea8b76fedb18159ba0cd8f279a9ca4264399c>
Nov 24 20:01:39 svr2 dockerd[2797]: time="2021-11-24T20:01:39.602028420+05:30" level=info msg="NetworkDB stats svr2(00bbf0799aa6) - netID:ubuzyty9mq4tb7xyb>
Nov 24 20:06:39 svr2 dockerd[2797]: time="2021-11-24T20:06:39.802013427+05:30" level=info msg="NetworkDB stats svr2(00bbf0799aa6) - netID:ubuzyty9mq4tb7xyb>
Nov 24 20:11:40 svr2 dockerd[2797]: time="2021-11-24T20:11:40.001992437+05:30" level=info msg="NetworkDB stats svr2(00bbf0799aa6) - netID:ubuzyty9mq4tb7xyb>
Nov 24 20:14:17 svr2 dockerd[2797]: time="2021-11-24T20:14:17.871605342+05:30" level=error msg="Error getting service xkauq9a599iv: service xkauq9a599iv not f>
Nov 24 20:14:52 svr2 dockerd[2797]: time="2021-11-24T20:14:52.833890158+05:30" level=error msg="Error getting service xkauq9a599iv: service xkauq9a599iv not f>
Nov 24 20:15:12 svr2 dockerd[2797]: time="2021-11-24T20:15:12.395692837+05:30" level=error msg="Error getting service pwaa8cvdd683: service pwaa8cvdd683 not f>
Nov 24 20:15:17 svr2 dockerd[2797]: time="2021-11-24T20:15:17.773200054+05:30" level=error msg="Error getting service xk0v0g2roypx: service xk0v0g2roypx not f>
Nov 24 20:16:18 svr2 dockerd[2797]: time="2021-11-24T20:16:18.529344060+05:30" level=error msg="Error getting service xk0v0g2roypx: service xk0v0g2roypx not f>
Nov 24 20:16:40 svr2 dockerd[2797]: time="2021-11-24T20:16:40.201888504+05:30" level=info msg="NetworkDB stats svr2(00bbf0799aa6) - netID:ubuzyty9mq4tb7xyb>

它看起來循環過程繼續創建容器。 我的方式有什么問題? 任何解決此問題的幫助將不勝感激。 謝謝

您確實需要將--restart-max-attempts 5傳遞給您的 docker 服務創建,以確保服務不會在循環中啟動太多次。 不利於docker的穩定性,難以調試。 而是讓任務放棄並停止,這樣您就可以看到有問題並進行診斷。

要具體查看問題所在,您需要查看每個任務的日志。 您使用各個任務 ID 來查看每個任務失敗的原因:

# The logs for a task
docker service logs s4q0rqrqbpdn
# A general breakdown of a task
docker inspect s4q0rqrqbpdn

有時您需要跟蹤任務的實際容器並進行檢查。 docker container不支持群,所以

# list the service showing the full task id.
docker service ps <service> --no-trunc

# then docker context use <node> / ssh <node> to switch to a node of interest.

# Then, the container name is the "ID"."NAME" from the PS list. For example:
docker context use sl-089
docker container inspect m32.ew0edluvz39pazold0wnv2ean.s4q0rqrqbpdnABCDEFGABCDEFG

檢查容器可以顯示它是否由於 OOM 或某些其他不會出現的原因而被殺死。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM