ubuntu20.04設置docker容器開機自啟動

ubuntu20.04設置docker容器開機自啟動

  • 1 docker自動啟動
  • 2 容器設置自動啟動
  • 3 容器自啟動失敗處理

1 docker自動啟動

(1)查看已啟動的服務

$ sudo systemctl list-units --type=service

在這里插入圖片描述
此命令會列出所有當前加載的服務單元。默認情況下,此命令僅列出激活狀態為active的服務單元。--all選項可列出所有服務單位,無論激活狀態如何。

UNIT:服務單元名稱
LOAD:表示systemd是否正確解析了單元的配置并將該單元加載到內存中
ACTIVE:表示單元的高級激活狀態,此信息表示單元是否已經成功啟動
SUB:表示單元的低級別激活狀態,此信息指示有關該單元的更多詳細信息
DESCRIPTION:表示單元的簡短描述

圖中docker明務已經啟動,如果沒有啟動,則執行啟動命令: systemctl start docker

(2)查看是否設置開機啟動

$ sudo systemctl list-unit-files | grep docker
#或者使用查看status
$ sudo systemctl status docker.service

在這里插入圖片描述
顯示enabled,說明docker服務已設置開機啟動 ,如果未設置,則執行命令: systemctl enable docker.service

2 容器設置自動啟動

(1)在啟動命令中添加 --restart=always

sudo docker run -d --restart=always --name=nginx 605c77e624dd

參數說明:

--restart=always :表示容器退出時,docker會總是自動重啟這個容器 ?
--restart=on-failure:3 :表示容器的退出狀態碼非0(非正常退出),自動重啟容器,3是自動重啟的次數。超過3此則不重啟 ?
--restart=no :默認值,容器退出時,docker不自動重啟容器 ?
--restart=unless-stopped :表示容器退出時總是重啟,但是不考慮docker守護進程運行時就已經停止的容器

(2)把運行中的容器更新為自啟動

$ sudo docker update --restart=always [容器id或name] 

參考文章:
Docker服務以及容器如何設置服務器開機自動啟動
docker服務設置自動啟動

3 容器自啟動失敗處理

(1)在執行以下命令啟動容器后,重啟服務器,發現容器沒有自動啟動。

$ sudo docker run -d --name test --gpus all -p 192.168.3.30:80:5000 --restart=always waf/facerecognition/arm64v8
$ sudo reboot

查看docker服務自啟動狀態

$ sudo docker ps
$ sudo journalctl -u docker.service

出現錯誤信息:

level=warning msg="Failed to allocate and map port 80-80: Error starting userland proxy: listen tcp4 192.168.3.30:80: bind: cannot assign requested address"

level=error msg="failed to start container" container=ecfb585203a6d0d172d... error="driver failed programming external connectivity on endpoint test (18458c46..>

在這里插入圖片描述

在這里插入圖片描述
(2)修改-p參數,執行啟動容器命令后,重啟服務器,testtest2容器均可以自啟動。

$ sudo docker run -d --name test --gpus all -p 127.0.0.1:80:5000 --restart=always waf/facerecognition/arm64v8
$ sudo docker run -d --name test2 --gpus all -p 90:5000 --restart=always waf/facerecognition/arm64v8
$ sudo reboot
$ sudo docker ps

在這里插入圖片描述

但是使用postman發送請求時,只有test2即90端口可以接收到,80無法接收到。所以在部署服務啟動容器時,-p參數直接寫端口,不要寫ip(192.168.3.30)或者“127.0.0.1”

在這里插入圖片描述
參考文檔:
Bind: cannot assign requested address

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/714293.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/714293.shtml
英文地址,請注明出處:http://en.pswp.cn/news/714293.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

龍蜥Anolis 8.4 安裝 salt-stack

Python3 安裝 sudo dnf install python3 -y Install SaltStack Yum Repository sudo dnf install -y https://repo.saltstack.com/py3/redhat/salt-py3-repo-latest.el8.noarch.rpm sudo dnf makecache sudo dnf -y update 安裝Salt-stack sudo dnf install -y salt-master …

Python自動化測試基礎必備知識點總結

一、自動化測試的概念 性能系統負載能力穩定性過載操作下的系統瓶頸自動化測試,使用程序代替人工,可以提高測試效率性,自動化測試能自動化使用代碼模擬大量用戶,讓用戶請求多頁和多用戶并發請求收集參數,并對系統負載…

待做事情哦

單點登錄: 搞懂單點登錄SSO,基于SpringBootJWT實現單點登錄解決方案-阿里云開發者社區 (aliyun.com)

設計模式七:責任鏈模式

文章目錄 1、責任鏈模式2、spring中的責任鏈模式Spring InterceptorServlet FilterNetty 1、責任鏈模式 責任鏈模式為請求創建了一個接收者對象的鏈,在這種模式下,通常每個節點都包含對另一個節點者的引用。每個節點針對請求,處理自己感興趣…

openGauss學習筆記-233 openGauss性能調優-系統調優-資源負載管理-資源管理準備-啟動資源負載管理功能

文章目錄 openGauss學習筆記-233 openGauss性能調優-系統調優-資源負載管理-資源管理準備-啟動資源負載管理功能233.1 背景信息233.2 前提條件233.3 操作步驟 openGauss學習筆記-233 openGauss性能調優-系統調優-資源負載管理-資源管理準備-啟動資源負載管理功能 233.1 背景信…

輕松解決電腦卡頓,CleanMyMac X2024讓你的Mac電腦重回巔峰性能!

在當今這個信息爆炸的時代,我們的電腦往往會因為安裝了過多的軟件、積累了太多的垃圾文件以及運行緩慢而變得卡頓、不流暢。然而,CleanMyMac X2024的出現,將為你解決這些問題,讓你的電腦重獲新生! CleanMyMac X2024全新…

java的JDK選擇和在win11的安裝與配置

一.背景 還是公司安排的師帶徒的任務。自己也回頭看看。 二.JDK的選擇 開發的版本java1.8。所以準備使用JDK8。 1.JDK有誰在給我們提供呢? 我以前知道的是sun、RedHat、Oracle、IBM。 我以前一般都是去sun的網站下載,后來被Oracle收購后去的Oracle…

前端導出word文件的多種方式、前端導出excel文件

文章目錄 純前借助word模板端導出word文件 (推薦)使用模板導出 前端通過模板字符串導出word文件前端導出 excel文件,node-xlsx導出文件,行列合并 純前借助word模板端導出word文件 (推薦) 先看效果&#xf…

nginx如何配置命令啟動

我安裝好nginx后,發現不能使用systemctl start nginx或者systemctl stop nginx來控制啟停 解決方法如下 首先要建一個nginx.pid的文件 一般是建在 /var/run/這個路徑下面 sudo touch /var/run/nginx.pid 添加權限 sudo chmod 644 /var/run/nginx.pid可以進入到…

springboot 定時任務備份mysql數據庫

記錄在Linux 系統上定時備份MySQL數據庫 1、在代碼中添加備份 package org.jeecg.modules.xczxhhr.job;import lombok.extern.slf4j.Slf4j; import org.quartz.Job; import org.quartz.JobExecutionContext;import java.io.BufferedReader; import java.io.File; import java…

數據結構-----反射

文章目錄 反射1.定義2 用途(了解)3 反射基本信息4 反射相關的類(重要)4.1 Class類(反射機制的起源 )4.1.1 Class類中的相關方法(方法的使用方法在后邊的示例當中) 4.2 反射示例4.2.1 獲得Class對象的三種方式4.2.2 反射的使用 5、反射優點和缺點6 重點總…

雙周回顧#005 - 零

一件悲傷的事實,這兩周,成長值為零~~ 從大數據部門臨時抽調到互聯網部門,支援重構的“配置下單”項目。 一個變種的低代碼架構設計,唯一比較有意思的是它的業務組件的設計與校驗設計,算是學習…

怎么把人物從圖中摳出?分享幾種好用的摳圖方法

在日常生活中,我們時常需要將人物從繁雜的背景中優雅地提取出來,無論是為了制作一張精美的證件照,還是為了設計一幅引人注目的海報或宣傳畫。然而,對于許多非專業人士來說,這仿佛是一場與細節的捉迷藏游戲,…

MySQL深入——23

主機內存只有100G,現在對一個200G的大表進行掃描,會不會把數據庫的內存用完。 對大表做全表掃描對Sever層的影響 假設現對一個200G的InnoDB表db1,做一個全表掃描,當然要把掃描結果保存到客戶端。 InnoDB的數據時保存在主鍵索引…

數據結構從入門到精通——順序表

順序表 前言一、線性表二、順序表2.1概念及結構2.2 接口實現2.3 數組相關面試題2.4 順序表的問題及思考 三、順序表具體實現代碼順序表的初始化順序表的銷毀順序表的打印順序表的增容順序表的頭部/尾部插入順序表的頭部/尾部刪除指定位置之前插入數據和刪除指定位置數據順序表元…

Linux如何查看端口是否占用

在Linux中,有多種方法可以用來檢查端口是否被占用。以下是一些常用的命令: netstat:這是一個非常通用的命令,可以用來查看所有端口的使用情況。如果你想查找特定的端口是否被占用,可以使用netstat命令配合grep。例如&…

【MySQL】DQL

DQL(數據查詢語言)用于在MySQL數據庫中執行數據查詢操作。它主要包括SELECT語句,用于從表中檢索數據。 0. 基本語法 SELECT 字段列表 FROM 表名列表 WHERE 條件列表 GROUP BY 分組字段列表 HAVING 分組后條件列表 ORDER BY 排序字段列表 …

未來醫療技術的發展方向在Python中的重要性

未來醫療技術的發展方向在Python中的重要性體現在以下幾個方面: 數據分析和人工智能:Python作為一種強大的數據分析語言,可以進行大規模的數據處理、分析和挖掘。在醫療領域,大量的醫療數據可以通過Python進行分析,幫助…

【市工信】2024年青島市綠色工廠、綠色工業園區等綠色制造示范申報

科大睿智小編從青島市工信局了解到&#xff0c;為深入貫徹綠色發展理念&#xff0c;牢固樹立綠色低碳發展導向&#xff0c;進一步完善綠色制造體系&#xff0c;培育綠色制造先進典型&#xff0c;根據《工業和信息化部關于印發<綠色工廠梯度培育及管理暫行辦法>的通知》&a…

springcloud:3.1介紹雪崩和Resilience4j

災難性雪崩效應 簡介 服務與服務之間的依賴性,故障會傳播,造成連鎖反應,會對整個微服務系統造成災難性的嚴重后果,這就是服務故障的“雪崩”效應。 原因 1.服務提供者不可用(硬件故障、程序bug、緩存擊穿、用戶大量請求) 2.重試加大流量(用戶重試,代碼邏輯重試) 3.服…