容器技術基礎與實踐:從鏡像管理到自動運行配置全攻略

1. 相比較虛擬機,容器有哪些技術優勢?

(1)直接在操作系統上運行,從而跨系統上的所有容器共享資源,‘

(2)共享主機的內核。

(3)與虛擬機相比,它需要的硬件資源要少得多,因此容器的啟動速度也更快。

(4)包括所有依賴項。

2. 容器鏡像是什么?

? ? ? ?容器鏡像是包含編碼步驟的靜態文件,它充當創建容器的藍圖。

3. RHEL 提供了哪些容器工具?

? ? ? ?Podman管理容器和容器鏡像;Buildah創建容器鏡像;Skopeo檢查、復制、刪除和簽署鏡像。

4. 根容器和無根容器有什么區別?

? ? ? ?由特權用戶運行的容器稱為Rootful容器,由非特權用戶運行的容器稱為Rootless容器。

? ? ? ?Rootless容器不允許使用通常為特權用戶保留的系統資源。

5. 請談一下容器鏡像(image)和倉庫/注冊表 (registry)的關系。

? ? ? ?容器鏡像是容器運行的 “靜態內容”,倉庫是這些內容的 “存儲與分發平臺”。二者相互依賴:鏡像通過倉庫實現跨環境共享和版本管理,倉庫通過存儲鏡像發揮其分發價值,共同支撐了容器從構建到部署的全生命周期。

6. 請寫出以 shell 交互方式運行容器的命令。

? ? ? ?基礎命令為 `podman run -it --rm <鏡像名> /bin/bash`,其中 `-i` 保持輸入交互,`-t` 分配終端,`--rm` 退出后自動刪除容器,`/bin/bash` 啟動 shell。?

? ? ? ?擴展場景包括:掛載主機目錄(`-v 主機路徑:容器路徑`)、暴露端口(`-p 主機端口:容器端口`)、非 root 運行(`--user UID`);若容器已后臺運行,可用 `podman exec -it <容器ID/名稱> /bin/bash` 進入新 shell。

7. 請說明如何配置容器倉庫。

(1)倉庫類型選擇:根據場景選工具,輕量用Docker Registry,企業級用Harbor(帶權限、掃描)或Red Hat Quay(集成OpenShift),OpenShift環境優先用內置倉庫。

(2)基礎配置:?

?? - 啟動倉庫并掛載存儲實現持久化;?

?? - 配置HTTPS(生成證書)和基礎認證(htpasswd);?

?? - 客戶端需信任證書或配置非安全倉庫,通過login驗證后可推送/拉取鏡像。(3)企業級配置:?

?? - Harbor:部署時配置HTTPS和存儲(如Ceph),通過Web界面管理項目和權限;?

?? - Quay:高可用部署(結合Operator),集成LDAP認證和S3/Ceph存儲。

(4)客戶端適配:配置證書信任或非安全倉庫,確保與倉庫正常通信。

8. 如何檢查倉庫中的和本地的容器鏡像?

? ? ? ?本地鏡像:用podman images或docker images列出現有鏡像,inspect看詳情、history看層結構,結合grep搜索特定鏡像。

? ? ? ?遠程倉庫鏡像:公共倉庫(如 Docker Hub)用skopeo list-tags查看標簽;私有倉庫(如 Harbor)操作類似,需先登錄,也可通過倉庫 API 查詢。

? ? ? ?對比兩者:檢查本地是否有對應版本,通過skopeo inspect和podman inspect獲取遠程與本地鏡像的唯一標識(Digest)進行比對。

9. 如何移除本地鏡像?

? ? ? ?podman rmi <鏡像ID>

? ? ? ?podman rmi <倉庫名:標簽>?

? ? ? ?docker rmi <鏡像ID或名稱>

10. 使用容器時,如何將主機端口和容器端口進行映射?

? ? ? ?命令參數:-p/--publish,格式主機端口:容器端口[協議](協議默認為 TCP)

11. 在運行容器時如何給容器傳遞參數?

(1)命令行參數:`podman run 鏡像 參數1 參數2`,直接傳遞給ENTRYPOINT/CMD

(2)環境變量:`-e 變量名=值` 或 `--env-file 文件`,容器內應用讀取

(3)配置文件掛載:`-v 主機路徑:容器路徑`,覆蓋默認配置

(4)構建參數(ARG):`--build-arg 變量名=值`,構建時傳遞

(5)卷掛載:通過數據卷傳遞大量數據

(6)結構化數據:通過環境變量傳遞JSON/YAML(需應用解析)

12. 寫出管理容器時的常見命令,比如查看、 終止、 刪除、 重啟等。

? ? ? ?查看容器:podman start <容器ID或名稱>

? ? ? ?刪除容器:podman rm <容器ID或名稱>

? ? ? ?啟動/終止容器:podman start/stop <容器ID或名稱>

? ? ? ?進入容器:podman exec -it <容器ID或名稱> /bin/bash

? ? ? ?重命名容器:podman rename <舊名稱> <新名稱>

? ? ? ?暫停/恢復容器:podman pause <容器ID或名稱>

? ? ? ? ? ? podman unpause <容器ID或名稱>

? ? ? ?導出容器為tar文件:podman export <容器ID或名稱> > container.tar

? ? ? ?從tar文件導入為鏡像:podman import container.tar myimage:v1

13. 如何在容器中運行業務系統的命令?

(1)對運行中容器:用exec -it進入容器交互執行,或直接exec非交互執行(如podman exec 容器ID 命令)。

(2)啟動容器時:在run命令后直接指定業務命令,覆蓋默認啟動指令(如podman run 鏡像 命令)。

(3)通過啟動腳本:鏡像中配置ENTRYPOINT指向腳本,容器啟動時自動執行初始化及業務命令。

14. 如何為容器提供持久存儲?

(1)數據卷(Volumes):容器引擎管理的存儲(如podman volume create),獨立于容器生命周期,推薦使用。

(2)綁定掛載(Bind Mounts):掛載主機目錄到容器(如-v /host:/container),適合開發調試。

(3)tmpfs 掛載:數據存于內存(--tmpfs /path),容器停止后丟失,適合臨時緩存。

(4)存儲插件:對接外部存儲系統(如 NFS、Ceph),適合生產集群。

15. 如何進行配置才能使容器在 Linux 啟動時自動運行?

(1)容器引擎自帶策略:啟動容器時加--restart參數,如--restart=always(系統重啟后必啟)、--restart=unless-stopped(手動停止后不自動啟),也可通過podman/docker update修改已有容器策略。

(2)systemd 服務管理:創建服務文件(如/etc/systemd/system/容器名.service),定義啟動 / 停止命令及依賴,然后systemctl daemon-reload并enable --now啟用,支持控制啟動順序等精細配置。

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

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

相關文章

書生浦語第五期-L1G4-InternLM 論文分類微調實踐(XTuner 版)

XTuner介紹一句話介紹XTuner&#xff1a;XTuner 是一個高效、靈活、全能的輕量化大模型微調工具庫。核心特點&#xff1a;高效&#xff1a;支持在有限資源下微調大模型&#xff0c;如在8GB顯存上微調7B參數模型&#xff0c;也支持多節點微調70B模型&#xff1b;自動分發高性能算…

從靈感枯竭到批量產出:無憂秘書創作平臺如何重構內容生產者的工作流程?全環節賦能分析

在當今快節奏的數字時代&#xff0c;內容創作者面臨著前所未有的挑戰。無論是自媒體運營者、自由撰稿人還是企業營銷人員&#xff0c;都需要高效地生產高質量的內容以滿足市場需求。然而&#xff0c;靈感枯竭、效率低下以及內容質量不穩定等問題常常困擾著這些內容生產者。為了…

【開源工具】基于Python的PDF清晰度增強工具全解析(附完整源碼)

??? 【開源工具】基于Python的PDF清晰度增強工具全解析(附完整源碼) ?? 個人主頁:創客白澤 - CSDN博客 ?? 系列專欄:??《Python開源項目實戰》 ?? 熱愛不止于代碼,熱情源自每一個靈感閃現的夜晚。愿以開源之火,點亮前行之路。 ?? 希望大家多多支持,我們一起進…

Qwen-Image開源模型實戰

Qwen-Image開源模型實戰&#xff1a;ComfyUI低顯存量化部署與中文海報生成指南 阿里云通義千問團隊最新開源的Qwen-Image模型以其卓越的中英文文本渲染能力在AI繪圖領域掀起了一場革命。這款200億參數的MMDiT架構模型不僅能夠生成高質量圖像&#xff0c;更突破了AI繪圖長期存在…

JavaWeb03——javascript基礎語法

1.什么是JavaScript&#xff1f;JavaScript&#xff08;簡稱 JS&#xff09;是一種 編程語言&#xff0c;它主要用來為網頁添加交互功能。它可以讓網頁變得動態&#xff0c;讓它不僅僅是靜態的文字和圖片&#xff0c;還能響應用戶操作&#xff08;比如點擊按鈕、彈框警告等&…

數據庫入門:從零開始構建你的第一個數據庫

歡迎來到數據庫的世界&#xff01;今天&#xff0c;我們將一起探索如何創建、管理和查詢數據庫。無論你是初學者還是希望加深理解的開發者&#xff0c;這篇博客都將幫助你更好地掌握數據庫的基礎知識。一、數據庫的基本操作創建數據庫首先&#xff0c;讓我們從創建一個新數據庫…

從匯編角度揭秘C++構造函數(1)

C的構造函數一直比較神秘&#xff0c;今天我們通過匯編的角度來揭秘一下&#xff0c;它的本質是什么。與常規函數有什么不同。從以下這段代碼說起&#xff1a; class Person { public:Person(int age) { _age age; }void printAge(){ printf("age %d\r\n",_age); …

java10學習筆記

Java 10 于 2018 年 3 月發布&#xff0c;是 Java 平臺按照新的六個月發布周期發布的第一個版本。雖然相比 Java 8 和 Java 9 的大型更新&#xff0c;Java 10 的變化較小&#xff0c;但仍然引入了一些重要的特性&#xff0c;特別是本地變量類型推斷&#xff08;var&#xff09;…

Flutter Listview的基本使用

Listview() 前端頁面常見的一個以列表方式顯示內容的組件。可垂直或水平滾動的列表。屬性說明scrollDirection設置滾動的方向&#xff0c;取值包括horizontal、verticalreverse設置是否翻轉&#xff0c;默認值falseitemExtent設置滾動方向子元素的長度&#xff0c;垂直方向為高…

強化學習筆記:從Q學習到GRPO

推薦學習huggingface的強化學習課程&#xff0c;全面了解強化學習的發展史。 以下是個人筆記&#xff0c;內容不一定完整&#xff0c;有些是個人理解。 基于值函數(value function)的強化學習 基于值函數(value function)的強化學習&#xff1a;學習的是一個值函數&#xff0…

MySQL索引底層原理與性能優化實踐

#技術棧深潛計劃一、前言 在日常開發中&#xff0c;MySQL數據庫以其高效、易用、可擴展等特性成為最主流的關系型數據庫之一。而索引作為數據庫查詢優化的核心工具&#xff0c;被譽為“數據庫的加速器”。但你真的了解MySQL索引的底層原理嗎&#xff1f;為什么InnoDB默認采用B樹…

Ext系列文件系統

1.硬件常見的硬件有磁盤、服務器、機柜、機房機械磁盤但是計算機中唯一的一個機械設備磁盤外設的特點就是外設慢容量大&#xff0c;價格便宜1.1.磁盤的物理結構磁盤的物理圖&#xff1a;磁盤的存儲圖扇區:是磁盤存儲數據的基本單位&#xff0c;512字節&#xff0c;塊設備磁盤的…

前綴函數——KMP的本質

前綴函數我個人覺得 oiwiki 上的學習順序是很合理的&#xff0c;學 KMP 之前先了解前綴函數是非常便于理解的。前后綴定義 前綴 prefixprefixprefix 指的是從字符串 SSS 的首位到某個位置 iii 的一個子串&#xff0c;這樣的子串寫作 prefix(S,i)prefix(S,i)prefix(S,i)。 后綴 …

解決chrome下載crx文件被自動刪除,加載未打包的擴展程序時提示“無法安裝擴展程序,因為它使用了不受支持的清單版本解決方案”

解決chrome下載crx文件被自動刪除 【chrome設置-隱私與安全-安全瀏覽】&#xff0c;選擇 不保護 【chrome設置-下載內容】&#xff0c;勾選 下載前詢問每個文件的保存位置 下載crx文件時&#xff0c;選擇保存文件夾&#xff0c;將 .crx后綴 改為 .zip后綴&#xff0c;再確定。 …

嵌入式學習day23-shell命令

linux軟件編程學習大綱&#xff1a;1.IO操作文件2.多任務編程3.網絡編程4.數據庫編程5.硬件設備管理學習目標&#xff1a;1.學習接口調用&#xff08;第一層&#xff09;2.軟件操作流程和思想&#xff08;第二層&#xff09;3.軟件設計思想和流程架構&#xff08;第三層&#x…

GPT-5 系列深度詳解:第1章-引言(目錄)

1 引言2 模型數據與訓練3 觀察到的安全挑戰與評估 3.1 從強制拒絕到安全完成 3.2 禁?內容 3.3 拍?屁 3.4 越獄 3.5 指令層級 3.6 幻覺 3.7 欺騙 3.7.1 欺騙思維鏈監控 3.8 圖像輸入 3.9 健康 3.10 多語言性能 3.1.1公平性與偏見&#xff1a; BBQ評估4 紅隊測試與外部評估…

NineData 新增支持 AWS ElastiCache 復制鏈路

2025 年&#xff0c;絕大多數企業已完成業務上云&#xff0c;以獲取更高的彈性、可擴展性和成本效益。AWS ElastiCache 作為 AWS 提供的全托管式內存數據庫服務&#xff0c;已成為許多企業在云上構建高并發、低延遲應用的理想選擇。NineData 數據復制現已全面支持從自建 Redis …

人工智能-python-特征選擇-皮爾遜相關系數

以下是關于特征選擇中常用方法的表格總結&#xff0c;并且詳細闡述了皮爾遜相關系數的原理、計算方法、步驟以及示例。 常用特征選擇方法總結方法原理優點缺點使用場景過濾法&#xff08;Filter Method&#xff09;基于特征的統計信息&#xff08;如相關性、方差等&#xff09;…

LabVIEW多循環架構

?LabVIEW的多循環架構是一種常見的架構&#xff0c;本文Temperature Monitoring.vi 采用 LabVIEW 典型的多循環并行架構&#xff0c;通過功能模塊化設計實現溫度監測全流程&#xff0c;各循環獨立運行又協同工作&#xff0c;構成完整的監測系統。1. 事件處理循環&#xff08;E…

深入理解Maven BOM

一、什么是Maven BOM&#xff1f; 1.1 BOM的基本概念 Maven BOM&#xff08;Bill of Materials&#xff0c;材料清單&#xff09;是一種特殊的POM文件&#xff0c;它主要用于集中管理多個相關依賴的版本。BOM本身不包含任何實際代碼&#xff0c;而是作為一個 版本管理的"參…