第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Docker禁用失敗時(shí)重啟

Docker禁用失敗時(shí)重啟

瀟瀟雨雨 2022-10-12 09:46:07
以下情況:我有一個(gè) Spring Boot 應(yīng)用程序在 Docker 群中運(yùn)行但無(wú)法啟動(dòng),因?yàn)樗鼪](méi)有正確配置(缺少屬性)。在我看來(lái),docker swarm 總是試圖重新啟動(dòng)容器,但由于缺少屬性而總是失敗。重新啟動(dòng)沒(méi)有意義,因?yàn)槌俏倚迯?fù)丟失的屬性,否則 docker 將永遠(yuǎn)無(wú)法啟動(dòng)應(yīng)用程序。所以目前這個(gè)群體在一個(gè)無(wú)限循環(huán)中結(jié)束。關(guān)于這個(gè)問(wèn)題,我已經(jīng)讀過(guò):碼頭工人文檔:https ://docs.docker.com/config/containers/start-containers-automatically/和幾個(gè) StackOverflow 帖子:https ://stackoverflow.com/search?q=Docker+restart我的“設(shè)置”:dockerfile:ARG nexus_docker_registry=mynexus.com:10099FROM ${nexus_docker_registry}/openjdk:8-jdk-alpineADD myjar.jar myjar.jarENV JAVA_OPTS=""ENTRYPOINT [ "java", "-jar", "/myjar.jar" ]我的 YML 文件來(lái)創(chuàng)建 docker 服務(wù):---- hosts: docker_manager  become: false  vars:    servicename: 'myservice'    imageurl: "mynexus.com:10099/myjar:{{version}}"    extraoptions:      - "--with-registry-auth"      - "--detach=true"      - "--log-driver gelf"      - "--log-opt 'gelf-address=udp://{{ groups['logstash'][0] }}:10001'"      - "--hostname 'myhost.com'"      - "--mount 'type=bind,source=/etc/localtime,destination=/etc/localtime:ro'"      - "--mount 'type=volume,source=mykeys,destination=/mykeys'"      - "--env 'spring.profiles.active=docker'"      - "--publish 8000:6666"  tasks:    - name: Include vault      include_vars: "myvault.yml"    - name: "delete service '{{ servicename }}'"      command: sudo docker service rm "{{ servicename }}"      args:        warn: false      ignore_errors: true      run_once: true    - name: "create service {{ servicename }}"      command: sudo docker service create {{ extraoptions | join( ' ' ) }} --name "{{ servicename }}" "{{ imageurl }}"      args:        warn: false      run_once: true我想要實(shí)現(xiàn)的是:如果 Spring Boot 應(yīng)用程序由于例如 a 或類(lèi)似原因而無(wú)法啟動(dòng)BeanCreationException,那么我不希望 docker 服務(wù)無(wú)休止地重新啟動(dòng)。如果我重新啟動(dòng) swarm 等,docker 服務(wù)應(yīng)該會(huì)自動(dòng)重新啟動(dòng)。在 docker 文檔中是這樣寫(xiě)的:如果你手動(dòng)停止一個(gè)容器,它的重啟策略會(huì)被忽略,直到 Docker 守護(hù)進(jìn)程重啟或者容器被手動(dòng)重啟。這是防止重啟循環(huán)的另一種嘗試。所以我想我想通過(guò)重啟策略來(lái)實(shí)現(xiàn)是不可能的。問(wèn)題:但也許我可以寫(xiě)一些Dockerfile我實(shí)現(xiàn)目標(biāo)的東西?還是我在這里完全錯(cuò)了并誤解了文檔?不幸的是,我不是碼頭工人專(zhuān)家,并且仍在學(xué)習(xí)處理“蜂群”。
查看完整描述

3 回答

?
慕碼人8056858

TA貢獻(xiàn)1803條經(jīng)驗(yàn) 獲得超6個(gè)贊

Docker中有 4 種不同的重啟策略:

  • no- 不要自動(dòng)重啟容器。(默認(rèn))

  • on-failure- 如果容器因錯(cuò)誤退出,則重新啟動(dòng)容器,這表現(xiàn)為非零退出代碼。

  • always- 如果容器停止,請(qǐng)始終重新啟動(dòng)容器

  • unless-stopped- 與 always 類(lèi)似,除了當(dāng)容器停止(手動(dòng)或其他方式)時(shí),即使在 Docker 守護(hù)程序重新啟動(dòng)后也不會(huì)重新啟動(dòng)。

docker 無(wú)法從應(yīng)用程序中“檢測(cè)”一種錯(cuò)誤類(lèi)型并根據(jù)它重新啟動(dòng)或不重新啟動(dòng)。

實(shí)現(xiàn)此目的的一種方法是在您的容器中使用supervisord,并讓它根據(jù)您定義的退出代碼列表來(lái)處理重啟。但這意味著您的容器只會(huì)在 supervisord 崩潰時(shí)重新啟動(dòng),而不是在您的應(yīng)用程序崩潰時(shí)重新啟動(dòng),并且您必須更改代碼以針對(duì)應(yīng)該重新啟動(dòng)的錯(cuò)誤和不應(yīng)該重新啟動(dòng)的錯(cuò)誤返回不同的退出代碼。


查看完整回答
反對(duì) 回復(fù) 2022-10-12
?
慕容3067478

TA貢獻(xiàn)1773條經(jīng)驗(yàn) 獲得超3個(gè)贊

因?yàn)槲蚁胍獙?shí)現(xiàn)的目標(biāo)似乎不太可能,所以我再次閱讀了文檔(https://docs.docker.com/engine/reference/commandline/service_create/)并找到了可以--restart-max-attempts解決我的無(wú)限循環(huán)問(wèn)題的選項(xiàng).

查看完整回答
反對(duì) 回復(fù) 2022-10-12
?
慕田峪7331174

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個(gè)贊

您可能想嘗試并實(shí)現(xiàn)docker stack基于 docker-compose 文件的創(chuàng)建。


在這種情況下,正如compose v3 文檔所示,您可以完全控制服務(wù)重啟策略。


下一個(gè)示例不允許重新啟動(dòng):


version: "3.9"

services:

    python:

        image: my_user/my_repo:my_container

        volumes:

            - /home/python:/home

        deploy:

            restart_policy:

                condition: none

您可以使用和調(diào)整restart_policy塊condition: [none | on-failure | any]max_attempts: [your_int]


查看完整回答
反對(duì) 回復(fù) 2022-10-12
  • 3 回答
  • 0 關(guān)注
  • 131 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)