Linux容器講解以及對應軟件使用

一、容器基礎知識講解

1.1?微服務的部署策略

????????部署單體應用意味著運行大型應用的多個相同副本,通常提供若干臺(N)服務器(物理機或虛擬 機),在每臺服務器上運行若干個(M)應用實例。部署單體應用并不總是簡單明了,但還是比部署微 服務應用簡單。 微服務應用由幾十甚至數百個服務組成。服務用不同的語言和框架寫成,每個都是一個小應用,包括特 定的部署、資源、擴展和監控需求,例如,根據服務需求運行若干數量的服務實例。 此外,每個服務實例必須配套提供適當的 CPU、內存 和 I/O 資源。更具挑戰性的是,盡管如此復雜,部 署服務還必須快速、可靠和性價比高。

1.2?基于主機(物理機或虛機)的多服務實例

????????“基于主機的多服務實例”模式是最為傳統的應用程序部署方法。 在該模式下,軟件開發人員可以提供單個或多個物理機或虛機,同時在每個主機上運行多個服務實例。 此模式有幾種不同的實現形式,其中包括:將每一個服務實例都作為一個單獨的進程,或是在同一進程 中運行多個服務實例。

優點: 由于多個服務實例使用的是同一服務器、及其操作系統,因此它們的資源使用效率相對較 高。

不足: 除非每個實例都是一個單獨的進程,否則您對服務實例的實際控制權并不大。而且,您無法 限制每個實例能夠使用到的資源比例。這將帶來主機內存被大量消耗的隱患。 如果多個服務實例在同一進程中運行,它們之間會缺乏隔離關系。這通常會導致在相同進程 中,某個行為異常的服務能夠直接影響、甚至中斷其他的服務。 由于運營團隊需要了解服務的詳細信息,因此在部署期間,他們可能發生人為錯誤的風險較 高。顯然,開發和運營團隊之間需要通過必要的信息交換,來盡可能地消除復雜性。

1.3?基于容器的服務實例

????????使用這一模式時,用戶將服務打包為容器鏡像。每個容器鏡像就是一個文件系統鏡像,由應用和運行服 務所需的庫構成。有的容器鏡像還包括完整的 Linux 根文件系統,有的則更輕量。 以部署 Java 服務為例,構建的容器鏡像包括 Java 運行時、Apache Tomcat 服務器、以及編譯好的 Java 應用。 一旦將服務打包為容器鏡像,就啟動一到多個容器。通常每個物理機或虛擬主機上會運行多個容器,會 用到 Kubernetes 或 Marathon 這樣的集群管理工具來管理容器。 集群管理工具把主機看做資源池,根據每個容器需要的資源和每個主機上可用的資源來調度容器。

1.4 虛擬機與容器的區別

????????VM(VMware)在宿主機器、宿主機器操作系統的基礎上創建虛擬層、虛擬化的操作系統、虛擬化的倉 庫,然后再安裝應用; Container(Docker容器),在宿主機器、宿主機器操作系統上創建Docker引擎,在引擎的基礎上再安裝應用。

1.5 docker三要素

Docker鏡像

Docker 鏡像就是一個只讀的模板。

例如:一個鏡像可以包含一個完整的 ubuntu 操作系統環境,里面僅安裝了 Apache 或用戶需要的其它 應用 程序。

鏡像可以用來創建 Docker 容器。 Docker 提供了一個很簡單的機制來創建鏡像或者更新現有的鏡像,用戶甚至可以直接從其他人那里下載 一 個已經做好的鏡像來直接使用。

Docker倉庫

倉庫是集中存放鏡像文件的場所。

有時候會把倉庫和倉庫注冊服務器(Registry)混為一談,并不嚴格區分。實際上,倉庫注冊服務器上 往往存放著多個倉庫,每個倉庫中又包含了多個鏡像,每個鏡像有不同的 標簽(tag)。

倉庫分為公開倉庫(Public)和私有倉庫(Private)兩種形式。

最大的公開倉庫是 Docker Hub,存放了數量龐大的鏡像供用戶下載。

當然,用戶也可以在本地網絡內創建一個私有倉庫。 當用戶創建了自己的鏡像之后就可以使用 push 命令將它上傳到公有或者私有倉庫,這樣下次在另外一臺機器上使用這個鏡像時候,只需要從倉庫上 pull 下來就可以了。

Docker容器

Docker 利用容器來運行應用。

容器是從鏡像創建的運行實例。

它可以被啟動、開始、停止、刪除。每個容器都是相互隔離的、保證安 全 的平臺。 可以把容器看做是一個簡易版的 Linux 環境(包括root用戶權限、進程空間、用戶空間和網絡空間等) 和運 行在其中的應用程序。

1. 提供一次性的環境。比如,本地測試他人的軟件、持續集成的時候提供單元測試和構建的環境 2. 提供彈性的云服務。因為 Docker 容器可以隨開隨關,很適合動態擴容和縮容

3. 組建微服務架構。通過多個容器,一臺機器可以跑多個服務,因此在本機就可以模擬出微服務架構

二、docker軟件使用講解

2.1 docker軟件安裝

第一步:

-- 安裝系統工具
yum install -y yum-utils device-mapper-persistent-data lvm2

第二步:

-- 配置yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

第三步:

-- 更新yum緩存
yum makecache fast

第四步:

-- 安裝docker-CE: 
yum -y install docker-ce

第五步:

-- 設置開機自啟
systemctl enable docker-- 啟動
systemctl start docker

第六步:Docker 運行容器前需要本地存在對應的鏡像, 如果鏡像不存在, Docker 會嘗試先從默認鏡像倉庫下載

vi /etc/docker/daemon.json-- 在里面添加地址
{"registry-mirrors": ["https://docker.m.daocloud.io",]
}

第七步:

-- 重新加載
systemctl daemon-reload && systemctl restart docker

第八步:

-- 下載鏡像
docker pull centos:7

第九步:

-- 查看已經下載的鏡像
docker images

2.2 docker軟件基礎使用

-- 創建一個容器
docker create nginx-- 查看正在運行的容器
docker ps-- 查看所有容器
docker ps -a

創建后下面那一串是id

docker rmi 【id或name】 刪除鏡像docker rm -f $(docker ps -aq) 刪除所有容器docker rmi -f $(docker images-q) 刪除所有鏡像

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

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

相關文章

企業級應用技術-ELK日志分析系統

目錄 #1.1ELK平臺介紹 1.1.1ELK概述 1.1.2Elasticsearch 1.1.3Logstash 1.1.4Kibana #2.1部署ES群集 2.1.1基本配置 2.1.2安裝Elasticsearch 2.1.3安裝Logstash 2.1.4Filebeat 2.1.5安裝Kibana 1.1ELK平臺介紹 1.1.1ELK概述 ELK 是三個開源工具的縮寫,分別是Elas…

Shiro漏洞復現

Shiro簡介 Apache Shiro是一種功能強大且易于使用的Java安全框架,它執行身份驗證、授權、 加密和會話管理,可用于保護任何應用程序的安全。 Shiro提供了應用程序安全性API來執行以下方面: 1.身份驗證:證明用戶身份,通…

VSCode 中使用 Google Test(GTest)框架測試

VSCode 中使用 Google Test(GTest)框架在 VSCode 中對 C 代碼進行測試的示例: 一、Unbutu x86使用gtest 環境配置 安裝 GTest :在 Ubuntu 系統中,可以通過命令sudo apt-get install libgtest-dev安裝 GTest 庫。對于…

【1.6 漫畫數據庫設計實戰 - 從零開始設計高性能數據庫】

1.6 漫畫數據庫設計實戰 - 從零開始設計高性能數據庫 🎯 學習目標 掌握數據庫表結構設計原則理解字段類型選擇與優化學會雪花算法ID生成策略掌握索引設計與優化技巧了解分庫分表設計方案 📖 故事開始 小明: “老王,我總是不知道怎么設計數…

OSPF虛擬鏈路術語一覽:快速掌握網絡路由

大家好,這里是G-LAB IT實驗室。今天帶大家了解一下OSPF的相關知識! 01 OSPF虛擬鏈路術語大全 網絡架構中,OSPF(開放式最短路徑優先)是一種重要的路由協議。通過其鏈路狀態路由機制,OSPF能夠有效維護和更新…

oracle常用的函數(一) 之 to_char、to_date

文章目錄 前言to_char基本語法格式模型格式模型介紹無FM示例使用FM輸出貨幣負數輸出尖括號 將日期格式化將數字格式化為帶有貨幣符號和千位分隔符的格式總結 to_date語法語法示例 戳這里,第二彈 → oracle常用的函數(二) 之 nvl、decode、l…

數據庫服務器宕機的處理方法與實戰策略

在當今數字化時代,數據庫作為企業數據存儲與管理的核心,承載著業務運行的關鍵信息。一旦數據庫服務器宕機,將導致業務中斷、數據丟失等嚴重后果,甚至可能給企業帶來巨大的經濟損失和聲譽損害。因此,掌握一套系統、科學的數據庫服務器宕機處理方法尤為重要。本文將從應急響…

如何hack邊緣的kubelet修改Cgroup數值

之前做了一個VPA項目的需求,就是需要不重啟的方式修改容器的Cgroup的值已達到垂直擴縮容的目的,項目中核心的思路如下 上游下發要VPA的結果的值寫入到容器的Annotation里面Kubelet 感知到這個 annoation 的變化我們本地運行一個 Agent,里面運…

熟悉 PyCharm

界面 我們常用的就這個幾個地方: 常用配置 調整字體大小 Ctrl 滾輪調整字體大小 插件推薦 Indent Rainbow 該插件的作用在于能夠對于不同層級縮進的空格標注不同的顏色: 快捷鍵 快捷鍵的 pdf 下載鏈接: Windows 版:https:…

pytorch--模型訓練的一般流程

文章目錄 前言0、數據集準備1、數據集2、dataset3、model4、訓練模型 前言 在pytorch中模型訓練一般分為以下幾個步驟: 0、數據集準備 1、數據集讀取(dataset模塊) 2、數據集轉換為tensor(dataloader模塊) 3、定義模型…

智能合同管理實戰:基于區塊鏈的電子簽約技術實現

在數字經濟時代,傳統紙質合同簽署方式已難以滿足企業高效、安全、合規的業務需求。智能合同管理(Smart Contract Management)結合區塊鏈技術,正在重塑電子簽約流程,實現合同全生命周期的自動化、可追溯和防篡改。本文將深入探討基于區塊鏈的電子簽約技術實現,涵蓋核心架構…

設計模式精講 Day 22:模板方法模式(Template Method Pattern)

【設計模式精講 Day 22】模板方法模式(Template Method Pattern) 文章標簽 設計模式, 模板方法模式, Java開發, 面向對象設計, 軟件架構, 設計模式實戰, Java應用開發 文章簡述 模板方法模式是一種行為型設計模式,它通過定義一個算法的骨架…

如何在pytorch中使用tqdm:優雅實現訓練進度監控

文章目錄 為什么需要進度條?tqdm 簡介基礎用法示例深度學習中的實戰應用1. 數據加載進度監控2. 訓練循環增強版3. 驗證階段集成 高級技巧與最佳實踐1. 自定義進度條樣式2. 嵌套進度條(多任務)3. 分布式訓練支持4. 與日志系統集成 性能優化建議…

Linux中的xxd命令詳解

xxd 是一個 十六進制轉儲(hex dump)工具,通常用于將二進制文件轉換為十六進制格式,或者反向轉換(十六進制→二進制)。它是 vim 的一部分,但在大多數 Linux 系統(如 Ubuntu&#xff0…

磐維數據庫panweidb3.1.0單節點多實例安裝

0 說明 業務科室提單需要在某臺主機上部署多個單機磐維數據庫,用于業務測試。以下內容展示如何在單節點安裝多個磐維數據庫實例。 1 部署環境準備 1.1 IP 地址及端口 instipport實例1192.168.131.1717700實例2192.168.131.1727700 在131.17上分別安裝兩個實例&…

轉錄組分析流程(三):功能富集分析

我們的教程主要是以一個具體的例子作為線索,通過對公共數據庫數據bulk-RNA-seq的挖掘,利用生物信息學分析來探索目標基因集作為某種疾病數據預后基因的潛能及其潛在分子機制,同時在單細胞水平分析(對scRNA-seq進行挖掘)預后基因的表達,了解細胞之間的通訊網絡,以期為該疾病…

全面掌握 tkinter:Python GUI 編程的入門與實戰指南

在自動化、工具開發、數據可視化等領域,圖形用戶界面(GUI)往往是提升用戶體驗的重要方式。作為 Python 官方內置的 GUI 庫,tkinter 以其輕量、跨平臺、易于學習的特性成為初學者和輕量級應用開發者首選。 本文將以深入淺出的方式…

TDH社區開發版安裝教程

(注:本文章來源于星環官網安裝手冊) 后面放置了視頻和安裝手冊連接 1、硬件及環境要求 Docker17及以上版本,支持Centos,Ubuntu等系統(注:這里我使用CentOS-7版本,最佳版本推薦為7.…

Linux基本命令篇 —— grep命令

grep是Linux/Unix系統中一個非常強大的文本搜索工具,它的名字來源于"Global Regular Expression Print"(全局正則表達式打印)。grep命令用于在文件中搜索包含特定模式的行,并將匹配的行打印出來。 目錄 一、基本語法 二…

蒼穹外賣問題系列之 蒼穹外賣訂單詳情前端界面和網課給的不一樣

問題 如圖,我的前端界面和網課里面給的不一樣,沒有“申請退款”和一些其他的該有的東西。 原因分析 “合計”這一欄顯示undefined說明我們的總金額沒有輸入進去。可以看看訂單提交那塊的代碼,是否可以正確輸出。還有就是訂單詳細界面展示這…