0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Docker容器實(shí)現(xiàn)開機(jī)自動(dòng)啟動(dòng)策略

jf_Ufm3lVrj ? 來源:凌順實(shí)驗(yàn)室 ? 2024-03-11 10:33 ? 次閱讀

有時(shí)候,需要主機(jī)啟動(dòng)的時(shí)候,即自動(dòng)啟動(dòng)容器。

要實(shí)現(xiàn)這個(gè)功能非常簡單。

情況一:啟動(dòng)容器前的指令設(shè)置restart選項(xiàng)

在啟動(dòng)容器的時(shí)候,添加--restart=always即可,例如:

docker run --restart=always docker_id

情況二:已啟動(dòng)容器通過 docker update 對(duì)設(shè)置 restart 選項(xiàng)

如果,已經(jīng)啟動(dòng)了容器,那么通過docker update對(duì)容器設(shè)置進(jìn)行更新,一樣可以讓運(yùn)行中的容器設(shè)置自動(dòng)啟動(dòng)。

首先, 通過docker ps查看,運(yùn)行的docker ID

docker ps

然后,使用 docker update,例如:

docker update --restart=always docker_id

停止容器自動(dòng)啟動(dòng)

又時(shí)候我們不需要容器自動(dòng)啟動(dòng)了,可以通過docker update對(duì)容器設(shè)置進(jìn)行更新

首先, 通過docker ps查看,運(yùn)行的docker ID

docker ps

然后,使用 docker update,例如:

docker update --restart=no

Docker支持以下重啟策略 restart的選項(xiàng)

策略結(jié)果

no容器退出時(shí)不自動(dòng)重啟。這是默認(rèn)的。

on-failure[:max-retries]只有在容器以非零退出狀態(tài)退出時(shí)才重新啟動(dòng)。可以選擇限制Docker守護(hù)進(jìn)程嘗試重啟的次數(shù)。例如 --restart=3 ,表示重啟3次后不再重啟。

always始終重啟容器,不管退出狀態(tài)如何。當(dāng)你指定always時(shí),Docker守護(hù)進(jìn)程將無限期地嘗試重新啟動(dòng)容器。容器也將總是在守護(hù)進(jìn)程啟動(dòng)時(shí)啟動(dòng),無論容器的當(dāng)前狀態(tài)如何。

unless-stopped無論退出狀態(tài)如何,總是重啟容器,包括在守護(hù)進(jìn)程啟動(dòng)時(shí),除非容器在Docker守護(hù)進(jìn)程停止之前就已經(jīng)進(jìn)入了停止?fàn)顟B(tài)。

請注意,這些設(shè)置會(huì)在Docker守護(hù)進(jìn)程的層面上生效,所以確保Docker守護(hù)進(jìn)程本身設(shè)置為在系統(tǒng)啟動(dòng)時(shí)啟動(dòng)。這通常是通過系統(tǒng)的服務(wù)管理(如systemd)來配置的。

注意事項(xiàng)

依賴服務(wù):如果你的容器依賴于其他服務(wù)(例如數(shù)據(jù)庫或其他容器),你需要確保這些服務(wù)在你的容器啟動(dòng)之前就已經(jīng)可用。這可以通過編排工具如Docker Compose來管理,或者通過編寫自定義的啟動(dòng)腳本來控制服務(wù)啟動(dòng)順序。

資源限制:確保你的系統(tǒng)有足夠的資源來啟動(dòng)所有設(shè)置為自動(dòng)啟動(dòng)的容器。如果資源(如內(nèi)存或CPU)不足,可能會(huì)導(dǎo)致容器啟動(dòng)失敗。

日志管理:自動(dòng)啟動(dòng)的容器可能會(huì)產(chǎn)生大量日志。配置適當(dāng)?shù)娜罩据嗈D(zhuǎn)策略,以避免日志文件占用過多磁盤空間。

數(shù)據(jù)持久化:對(duì)于需要持久化數(shù)據(jù)的容器,確保正確配置了數(shù)據(jù)卷或綁定掛載,以便在容器重啟后數(shù)據(jù)不會(huì)丟失。

網(wǎng)絡(luò)配置:如果容器需要特定的網(wǎng)絡(luò)配置,比如固定的IP地址或訪問特定的網(wǎng)絡(luò)資源,確保這些配置在容器啟動(dòng)時(shí)是正確的。

安全性:自動(dòng)啟動(dòng)的容器可能會(huì)增加安全風(fēng)險(xiǎn),特別是如果它們公開了網(wǎng)絡(luò)端口。確保只有必要的端口被暴露,并且適當(dāng)?shù)陌踩胧┮呀?jīng)到位。

更新和維護(hù):定期檢查并更新你的容器鏡像和配置,以確保安全性和功能性。自動(dòng)啟動(dòng)的容器應(yīng)該包含在你的常規(guī)維護(hù)計(jì)劃中。

系統(tǒng)啟動(dòng)時(shí)間:如果你有多個(gè)容器設(shè)置為開機(jī)啟動(dòng),這可能會(huì)影響系統(tǒng)的啟動(dòng)時(shí)間。在某些情況下,可能需要優(yōu)化啟動(dòng)順序或延遲某些容器的啟動(dòng)。

監(jiān)控和告警:設(shè)置適當(dāng)?shù)谋O(jiān)控和告警機(jī)制,以便在容器啟動(dòng)失敗或運(yùn)行不正常時(shí)能夠及時(shí)發(fā)現(xiàn)并采取行動(dòng)。

確保在生產(chǎn)環(huán)境中,你已經(jīng)考慮了這些因素,并且對(duì)于任何關(guān)鍵服務(wù),都有適當(dāng)?shù)膫浞莺突謴?fù)計(jì)劃。

審核編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 容器
    +關(guān)注

    關(guān)注

    0

    文章

    492

    瀏覽量

    22027
  • Docker
    +關(guān)注

    關(guān)注

    0

    文章

    453

    瀏覽量

    11792

原文標(biāo)題:Docker 容器開機(jī)自動(dòng)啟動(dòng)

文章出處:【微信號(hào):凌順實(shí)驗(yàn)室,微信公眾號(hào):凌順實(shí)驗(yàn)室】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何使用 Docker容器化技術(shù)

    對(duì)于開發(fā)人員來說,Docker肯定都不陌生,今天小編帶大家重新學(xué)習(xí)一下Docker。 什么是 Docker 官話: Docker 是一種開源的容器
    的頭像 發(fā)表于 09-30 11:24 ?1.6w次閱讀

    ARM平臺(tái)實(shí)現(xiàn)Docker容器技術(shù)

    及依賴包到一個(gè)可移植的鏡像中,然后發(fā)布到任何流行的Linux或Windows機(jī)器上,亦可實(shí)現(xiàn)虛擬化。容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口。使用Docker,可像管理應(yīng)用程序一樣管理基礎(chǔ)結(jié)構(gòu)
    發(fā)表于 07-17 11:05

    ARM平臺(tái)實(shí)現(xiàn)Docker容器技術(shù)

    及依賴包到一個(gè)可移植的鏡像中,然后發(fā)布到任何流行的Linux或Windows機(jī)器上,亦可實(shí)現(xiàn)虛擬化。容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口。使用Docker,可像管理應(yīng)用程序一樣管理基礎(chǔ)結(jié)構(gòu)
    發(fā)表于 07-25 14:36

    如何在Docker中創(chuàng)建容器

    Docker是一個(gè)開源的引擎,可以輕松的為任何應(yīng)用創(chuàng)建一個(gè)輕量級(jí)的、可移植的、自給自足的容器。開發(fā)者在筆記本上編譯測試通過的容器可以批量地在生產(chǎn)環(huán)境中部署,包括VMs(虛擬機(jī))、bare metal
    發(fā)表于 01-03 15:58

    Docker容器實(shí)現(xiàn)HarmonyOS編譯環(huán)境(WifiIoT)--僅需3個(gè)步驟完成環(huán)境,1個(gè)步驟編譯

    docker容器就是啟動(dòng)系統(tǒng)后的運(yùn)行載體(速度比常規(guī)虛擬機(jī)快多了),容器中的內(nèi)容是不會(huì)保存的。所以我們需要將外部系統(tǒng)的目錄掛載到容器中,這
    發(fā)表于 10-21 13:05

    理解Docker容器并暢玩docker

    !命令行!玩docker,簡單幾句命令就夠了。Docker容器響應(yīng)迅速,執(zhí)行迅速,回憶一下VM啟動(dòng)要多久?最佳的試驗(yàn)場所,想怎么玩怎么玩,rm -rf /* 根本不是大問題。主機(jī)上刪掉
    發(fā)表于 11-05 09:54

    Docker容器管理命令(一)

    1、Docker容器管理命令的使用方法查看當(dāng)前主機(jī)本地docker鏡像:啟動(dòng)容器必須依賴鏡像,所以要獲取到鏡像的唯一標(biāo)識(shí)docker
    發(fā)表于 04-20 17:55

    Docker容器管理命令(二)

    1、Docker容器管理命令的使用方法批量刪除docker 容器docker cp命令docker
    發(fā)表于 04-21 11:31

    基于Docker的云資源彈性調(diào)度策略

    存儲(chǔ)方法進(jìn)行改進(jìn);然后,建立了一個(gè)基于節(jié)點(diǎn)綜合負(fù)載的資源調(diào)度優(yōu)化模型;最后,將Ceph集群和Docker容器的特點(diǎn)相結(jié)合,利用Docker Swarm實(shí)現(xiàn)了既考慮數(shù)據(jù)存儲(chǔ)、又考慮集群負(fù)
    發(fā)表于 03-29 10:11 ?0次下載
    基于<b class='flag-5'>Docker</b>的云資源彈性調(diào)度<b class='flag-5'>策略</b>

    關(guān)于Docker的一些基礎(chǔ)操作有哪些

    進(jìn)入容器,安裝Docker,設(shè)置開機(jī)啟動(dòng)
    的頭像 發(fā)表于 03-03 15:38 ?645次閱讀

    docker容器容器之間通信

    Docker是一種輕量級(jí)容器化技術(shù),能夠?qū)?yīng)用程序及其依賴項(xiàng)封裝在一個(gè)獨(dú)立、可移植的容器中。而容器化的應(yīng)用程序通常是以分布式方式設(shè)計(jì)的,因此實(shí)現(xiàn)
    的頭像 發(fā)表于 11-23 09:36 ?1425次閱讀

    如何啟動(dòng)本機(jī)docker服務(wù)

    Docker是一個(gè)開源項(xiàng)目,可以幫助開發(fā)者打包應(yīng)用程序及其依賴,并且能夠?qū)⑵渥鳛楠?dú)立的容器來運(yùn)行。本文將詳細(xì)介紹如何在本機(jī)上啟動(dòng)Docker服務(wù)。 第一步:安裝
    的頭像 發(fā)表于 11-23 09:43 ?1941次閱讀

    docker進(jìn)入容器的方法有哪些

    Docker是一種流行的容器化平臺(tái),它能夠快速構(gòu)建、交付和運(yùn)行應(yīng)用程序。在使用Docker時(shí),我們經(jīng)常需要進(jìn)入容器進(jìn)行調(diào)試、管理和運(yùn)行命令等操作。本文將詳細(xì)介紹
    的頭像 發(fā)表于 11-23 09:45 ?1w次閱讀

    docker容器有幾種狀態(tài)

    Docker 容器的各種狀態(tài)及其含義。 Created(已創(chuàng)建):當(dāng)我們使用 docker create 命令創(chuàng)建一個(gè)容器時(shí),它會(huì)進(jìn)入已創(chuàng)建狀態(tài)。在這個(gè)狀態(tài)下,
    的頭像 發(fā)表于 11-23 09:50 ?2073次閱讀

    ARM平臺(tái)實(shí)現(xiàn)Docker容器技術(shù)

    ,亦可實(shí)現(xiàn)虛擬化。容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口。使用Docker,可像管理應(yīng)用程序一樣管理基礎(chǔ)結(jié)構(gòu)。通過利用Docker的快速發(fā)布、測試和部署代碼的方法,可顯著減少產(chǎn)
    的頭像 發(fā)表于 03-07 13:48 ?725次閱讀
    ARM平臺(tái)<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>Docker</b><b class='flag-5'>容器</b>技術(shù)