一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux容器技術的原理是怎么樣的應該如何使用

Wildesbeast ? 來源:網絡整理 ? 作者:馬哥Linux ? 2020-04-06 10:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1.1 隔離和共享

在一個多員共用的開發(fā)環(huán)境或者一臺服務器運行多個邏輯隔離的服務器進程。誰的運行環(huán)境也不希望影響到另一個誰。也就是一個物理機器需要虛擬化出多個環(huán)境或者容器。通過提供一種創(chuàng)建和進入容器的方式,操作系統(tǒng)讓應用程序就像在獨立的機器上運行一樣,但又能共享很多底層的資源。

1.2 虛擬化vs容器

傳統(tǒng)的虛擬化技術是通過硬件模擬或者操作系統(tǒng)軟件實現,而容器技術可以比傳統(tǒng)虛擬化更輕量級。

容器在提供隔離的同時,還通過共享這些資源節(jié)省開銷,這意味著容器比真正的虛擬化的開銷要小得多。例如,可以有效地共享公共文件(比如 glibc)的頁緩存,因為所有容器都使用相同的內核,而且所有容器還常常共享相同的 libc 庫(取決于容器配置)。這種共享常常可以擴展到目錄中其他不需要寫入內容的文件。

和傳統(tǒng)虛擬化相比,容器啟動很快,由于共享系統(tǒng)資源,一臺主機可以運行上千個容器,并且容器鏡像用類似git分發(fā)思想,用戶更容易創(chuàng)建,分發(fā),更新存儲這些鏡像。

1.3 前世和今生

今生是docker大流行的時代,而前世就是早于1982年的chroot工具,以及后面經過改進并且現在還在使用的lxc技術。早期的docker的代碼實現基于LXC(0.9之前)。

Linux容器功能是基于 cgroups 和 Namespace 來實現的. 所以要了解 Linux 容器必須先了解 cgroup 和 Namespace.

2.1、cgroups(控制組)

cgroups 是將進程分組管理的內核功能.通過cgroups可以隔離進程, 同時還可以控制進程的資源占用(CPU, 內存等等)情況在操作系統(tǒng)底層限制物理資源,起到 Container 的作用。進程可用的cpu資源由cpuset指定。

2.2、Namespace (命名空間)

Namespace讓每個進程組有獨立的PID, IPC和網絡空間.Namespace通過 clone系統(tǒng)調用來實現的.

clone系統(tǒng)調用的第3個參數flags就是通過設置Namespace來劃分資源的.

LXC依賴于epel-release的安裝,EPEL(Extra Packages for Enterprise Linux)是Fedora 社區(qū)打造提供高質量軟件包的項目,相當于一個第三方源。

yum install epel-release -y

然后再安裝LXC相關的工具包,和創(chuàng)建容器所需要的模板lxc-templates

yum install lxc lxc-templates -y

安裝完使用lxc-checkconfig檢查下操作系統(tǒng)對容器技術的支持

3.1 LXC工具包概覽

LXC所有的操作工具api都在這里,可以對LXC進行相應的操作。

LXC所有命令

3.2 創(chuàng)建一個容器

使用預定義的模板創(chuàng)建一個容器。它會根據模板設置自動下載依賴環(huán)境包并安裝。

lxc-create -n 容器名稱 -t 模板(不需要加 lxc)lxc-create -n mariolu-console -t centos

模板就是第3節(jié)安裝的lxc-templates工具包。所有模板放在這個目錄下/usr/share/lxc/templates/

LXC的所有模板

跟chroot思想一樣,安裝完容器,所有的主機文件夾根目錄被重定義到/var/lib/lxc/mariolu-console

重新定義的root路徑

3.3 啟動容器

就像安裝完機器后,我們要開機啟動服務器。Lxc也有相應的步驟就是

lxc-start -n mariolu-console

啟動界面

但是我們很快就發(fā)現,啟動需要密碼,但是使用容器創(chuàng)建沒有輸入密碼,難道是有什么默認密碼嗎

在這里并不能看到root密碼,密碼或者被用x字符替代,或者是一串hash碼。

cat /var/lib/lxc/mariolu-console/rootfs/etc/shadowchroot /var/lib/lxc/mariolu-console/rootfs passwd

網絡搜索沒找到默認密碼,但是找到了這么一句話:

The root password is set up as expired and will require it to be changedat first login, which you should do as soon as possible. If you lose the root password or wish to change it without starting the container, you can change it from the host by running the following command (which will also reset the expired flag)

chroot/var/lib/lxc/sspl-test/rootfspasswd

YES! Give Me Five! 這個告訴我們重置密碼的命令。我們新開一個窗口,完成密碼的重置,然后重新切換回原來的窗口,這時候就可以用密碼愉快的登陸了。

登錄成功

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

    關注

    87

    文章

    11508

    瀏覽量

    213570
  • 服務器
    +關注

    關注

    13

    文章

    9783

    瀏覽量

    87826
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Linux網絡管理的關鍵技術和最佳實踐

    在大型互聯(lián)網企業(yè)中,Linux網絡管理是運維工程師的核心技能之一。面對海量服務器、復雜網絡拓撲、高并發(fā)流量,運維人員需要掌握從基礎網絡配置到高級網絡優(yōu)化的全套技術棧。本文將結合大廠實際場景,深入解析Linux網絡管理的關鍵
    的頭像 發(fā)表于 07-09 09:53 ?128次閱讀

    創(chuàng)龍 瑞芯微 RK3562 國產 2GHz 四核A53 工業(yè)開發(fā)板—Docker容器部署方法說明

    Docker是一個開源的應用容器引擎,讓開發(fā)者可打包他們的應用以及依賴包至一個可移植的鏡像中,然后發(fā)布至任何流行的Linux或Windows機器上,亦可實現虛擬化。容器是完全使用沙箱機制,相互之間
    的頭像 發(fā)表于 07-03 11:00 ?86次閱讀
    創(chuàng)龍 瑞芯微 RK3562 國產 2GHz 四核A53 工業(yè)開發(fā)板—Docker<b class='flag-5'>容器</b>部署方法說明

    樹莓派4 性能大比拼:標準Linux與實時Linux 4.19內核的延遲測試

    引言本文是對我之前關于RaspberryPi3同一主題的帖子的更新。與之前的帖子一,我使用的是隨Raspbian鏡像提供的標準內核,以及應用了RT補丁的相似內核版本。對于實時版,我
    的頭像 發(fā)表于 03-25 09:39 ?323次閱讀
    樹莓派4 性能大比拼:標準<b class='flag-5'>Linux</b>與實時<b class='flag-5'>Linux</b> 4.19內核的延遲測試

    容器引擎是什么意思

    容器引擎是一種虛擬化技術,它利用操作系統(tǒng)的內核來實現對應用程序的隔離和打包,使得應用程序可以在不同的環(huán)境中運行而無需修改代碼。主機推薦小編為您整理發(fā)布容器引擎是什么意思,以下是關于容器
    的頭像 發(fā)表于 01-09 09:49 ?392次閱讀

    Jtti:Linux中虛擬文件系統(tǒng)和容器化的關系

    Linux中,虛擬文件系統(tǒng)(VFS)和容器技術之間有密切的關系。容器化是指通過使用容器來運行應用程序,而
    的頭像 發(fā)表于 11-27 15:38 ?461次閱讀

    Linux網絡基礎知識總結

    同 CPU、內存以及 I/O 一,網絡也是 Linux 系統(tǒng)最核心的功能。 網絡是一種把不同計算機或網絡設備連接到一起的技術,它本質上是一種進程間通信方式,特別是跨系統(tǒng)的進程間通信,必須要通過網絡才能進行。
    的頭像 發(fā)表于 10-28 10:42 ?669次閱讀
    <b class='flag-5'>Linux</b>網絡基礎知識總結

    如何限制容器可以使用的CPU資源

    默認情況下容器可以使用的主機 CPU 資源是不受限制的。和內存資源的使用一,如果不對容器可以使用的 CPU 資源進行限制,一旦發(fā)生容器內程序異常使用 CPU 的情況,很可能把整個主機
    的頭像 發(fā)表于 10-24 17:04 ?675次閱讀
    如何限制<b class='flag-5'>容器</b>可以使用的CPU資源

    微服務架構與容器云的關系與區(qū)別

    微服務架構與容器云密切相關又有所區(qū)別。微服務將大型應用拆分為小型、獨立的服務,而容器云基于容器技術,為微服務提供構建、發(fā)布和運行的平臺。區(qū)別在于,微服務是架構風格,注重服務拆分與部署;
    的頭像 發(fā)表于 10-21 17:28 ?541次閱讀

    無極電容器和有極電容器嗎,無極電容器和有極電容器的區(qū)別

    無極電容器和有極電容器在多個方面存在顯著的差異,它們并不一。以下是兩者之間的主要區(qū)別:
    的頭像 發(fā)表于 10-01 16:42 ?2866次閱讀

    超級電容器和普通電容器的區(qū)別

    超級電容器(Supercapacitor)和普通電容器(Capacitor)都是電子設備中用于儲存和釋放電能的元件,但它們在結構、工作原理、性能參數和應用領域上有著顯著的不同。 在現代電子技術
    的頭像 發(fā)表于 09-27 10:27 ?2620次閱讀

    華納云:Linux宕機應該如何進行重啟?

    這篇文章將為大家詳細講解有關Linux宕機怎么重啟,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。 對于死機的電腦這是更安全的,你需要按: Ctrl + Alt
    的頭像 發(fā)表于 08-13 15:03 ?447次閱讀

    Linux內核測試技術

    。內核測試技術是實現這一目標的關鍵手段。本文將詳細介紹 Linux 內核測試的各種技術,包括單元測試、集成測試、功能測試和性能測試等,并討論不同測試方法的優(yōu)缺點及其適用場景。
    的頭像 發(fā)表于 08-13 13:42 ?1183次閱讀
    <b class='flag-5'>Linux</b>內核測試<b class='flag-5'>技術</b>

    實時Linux:解鎖高效能和可靠性的關鍵

    實時Linux結合容器技術,提供了高度靈活和可擴展的解決方案,特別適合于需要快速響應和高可靠性的應用場景。實時Linux能夠保證關鍵任務及時執(zhí)行,而
    的頭像 發(fā)表于 08-08 11:21 ?577次閱讀
    實時<b class='flag-5'>Linux</b>:解鎖高效能和可靠性的關鍵

    ARM平臺實現Docker容器技術

    及依賴包到一個可移植的鏡像中,然后發(fā)布到任何流行的Linux或Windows機器上,亦可實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。使用Docker,可像管理應用程序一管理基礎結構
    發(fā)表于 07-25 14:36

    ARM平臺實現Docker容器技術

    及依賴包到一個可移植的鏡像中,然后發(fā)布到任何流行的Linux或Windows機器上,亦可實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。使用Docker,可像管理應用程序一管理基礎結構
    發(fā)表于 07-17 11:05