成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

再見Docker!使用Podman、Skopeo和Buildah下一代容器新架構

云計算
很多人可能遇到過開機重啟時,由于Docker守護程序在占用多核CPU使用100%C使用的情況,導致所有容器都無法啟動,服務都不能用的情況。

 

緣起:

很多人可能遇到過開機重啟時,由于Docker守護程序在占用多核CPU使用100%C使用的情況,導致所有容器都無法啟動,服務都不能用的情況。很悲催的是這事兒蟲蟲也遇到了,之前文章中蟲蟲介紹過利用Docker重構WP博客的新架構。由于VPS機器不是很穩定,時常會重啟,重啟時候就會遇到這個事情,VPS負載很高,容器都沒有起來,網站就無法訪問了。這時候只能殺掉所有容器并重啟守護進程,才能恢復。經過了解該問題是由于Docker守護進程引起,而且Docker守護進程是以root特權權限啟動的,是一個安全問題,那么有什么方法解決呢?

為什么Docker需要一個守護進程呢?

Podman,Skopeo和Buildah

這三個工具都是符合OCI計劃下的工具(github/containers)。主要是由RedHat推動的,他們配合可以完成Docker所有的功能,而且不需要守護程序或訪問有root權限的組,更加安全可靠,是下一代容器容器工具。

Podman

 

再見Docker!使用Podman、Skopeo和Buildah下一代容器新架構

 

Podman可以替換Docker中了大多數子命令(RUN,PUSH,PULL等)。Podman不需要守護進程,而是使用用戶命名空間來模擬容器中的root,無需連接到具有root權限的套接字保證容器的體系安全。

Podman專注于維護和修改OCI鏡像的所有命令和功能,例如拉動和標記。它還允許我們創建,運行和維護從這些圖像創建的容器。

Buildah

Buildah用來構建OCI圖像。雖然Podman也可以用戶構建Docker鏡像,但是構建速度超慢,并且默認情況下使用vfs存儲驅動程序會耗盡大量磁盤空間。 buildah bud(使用Dockerfile構建)則會非常快,并使用覆蓋存儲驅動程序。

再見Docker!使用Podman、Skopeo和Buildah下一代容器新架構

Buildah專注于構建OCI鏡像。 Buildah的命令復制了Dockerfile中的所有命令。可以使用Dockerfiles構建鏡像,并且不需要任何root權限。 Buildah的最終目標是提供更低級別的coreutils界面來構建圖像。Buildah也支持非Dockerfiles構建鏡像,可以允許將其他腳本語言集成到構建過程中。 Buildah遵循一個簡單的fork-exec模型,不以守護進程運行,但它基于golang中的綜合API,可以存儲到其他工具中。

Skopeo

Skopeo是一個工具,允許我們通過推,拉和復制鏡像來處理Docker和OC鏡像。

[[274424]]

Podman和Buildah對比

Buildah構建容器,Podman運行容器,Skopeo傳輸容器鏡像。這些都是由Github容器組織維護的開源工具(github/containers)。這些工具都不需要運行守護進程,并且大多數情況下也不需要root訪問權限。

Podman和Buildah之間的一個主要區別是他們的容器概念。 Podman允許用戶創建"傳統容器"。雖然Buildah容器實際上只是為了允許將內容添加回容器圖像而創建的。一種簡單方法是buildah run命令模擬Dockerfile中的RUN命令,而podman run命令模擬功能中的docker run命令。

簡而言之,Buildah是創建OCI圖像的有效方式,而Podman允許我們使用熟悉的容器cli命令在生產環境中管理和維護這些圖像和容器。

容器遷移

安裝

基本上各大發行版都提供了二進制安裝包, 使用系統包管理就可以安裝:

  1. Fedora, CentOS:sudo yum -y install podman  
  2. Arch & Manjaro Linux: sudo pacman -S podman 

Ubuntu安裝:

  1. sudo apt-get update -qq 
  2. sudo apt-get install -qq -y software-properties-common uidmap 
  3. sudo add-apt-repository -y ppa:projectatomic/ppa 
  4. sudo apt-get update -qq 
  5. sudo apt-get -qq -y install podman 

遷移步驟

首先,用podman替換了cron和CI作業中的所有docker實例。

完成后第一步后使用sysdig來捕獲對docker的引用,看看是否還有其他東西在調用docker:

  1. sysdig | grep -w docker 

如果您對性能敏感,這可能會大大降低系統速度。

現在就可以刪除docker了:

  1. sudo:yum remove docker 

或者

  1. apt remove -y docker-ce 

清理配置文件:

刪除/etc/apt/*或者/etc/yum.repos.d/*中指向Docker的源

刪除/etc/docker/*,/etc/default/docker和/var/lib/ docker中的任何遺留文件

刪除docker組:delgroup docker

總結

使用Podman,Skopeo和Buildah的新一代容器架構后,可以解決由于docker守護程序導致的啟動和安全問題。使用新架構后除了"沒有守護進程"和"不需要sudo訪問"之外,沒有發現很多不同之處。構建的容器都位于用戶目錄下(~/.local/containers中)而不是全局的(在/var/lib/docker中),即面向用戶而不是面向守護進程。與Docker相比,podman pull會并行下載獲取所有層。

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2019-09-26 15:30:34

DockerLinux開源

2013-07-27 21:28:44

2025-01-03 09:24:10

模型架構論文

2013-06-27 11:21:17

2015-10-19 17:15:33

網絡架構/華三

2011-01-11 10:13:06

2020-09-27 17:27:58

邊緣計算云計算技術

2020-09-16 10:28:54

邊緣計算云計算數據中心

2015-09-10 09:39:01

容器技術Docker

2012-07-18 09:21:54

iPhone觸摸屏

2012-03-24 20:49:49

iPhone

2011-08-30 10:02:31

2021-11-01 10:41:59

DockerEarthlyLinux

2013-09-09 16:28:36

2016-01-26 11:58:12

2015-09-28 16:24:34

YARNHadoop計算

2018-09-25 07:00:50

2018-09-27 18:47:45

AIOpsDevOps

2013-07-27 21:41:14

APT攻擊下一代威脅

2009-04-06 08:42:18

Firefox瀏覽器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品免费一区二区 | 中文字幕在线播放不卡 | а√中文在线8 | 国产成人av免费看 | 久久在线视频 | 欧美激情综合网 | 国产农村妇女精品一区 | 97热在线| 久久99精品久久久久久狂牛 | 中文在线a在线 | 日韩一区二区三区在线 | 波多野结衣精品 | 九九免费视频 | 91精品国产91久久久久久吃药 | 国产成人免费视频网站高清观看视频 | 91视频在线看 | 一二区成人影院电影网 | 91精品一区二区三区久久久久 | 99精品热视频 | 91精品久久久久久久 | 成人国产精品久久 | 男人天堂久久 | 国产精品久久久久久久久久久久久久 | 中文字幕亚洲精品 | a在线观看 | 久久夜视频 | 波多野结衣先锋影音 | 国产精品成人一区 | 欧美日韩国产一区二区三区 | 精久久久 | 欧美成人高清视频 | 中文字幕一区二区三区在线乱码 | 久久精品国产精品青草 | 久久中文字幕视频 | 亚洲在线一区二区 | 成人精品视频免费 | 久久免费看| 国产午夜精品一区二区三区嫩草 | 精品久久视频 | 国产欧美精品一区二区三区 | 欧美一区二区小视频 |