欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

podman容器工具的具體使用

 更新時(shí)間:2022年01月26日 15:42:21   作者:willblog  
本文主要介紹了podman容器工具的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

podman簡(jiǎn)介

Podman是一個(gè)開(kāi)源項(xiàng)目,可在大多數(shù)Linux平臺(tái)上使用并開(kāi)源在GitHub上。Podman是一個(gè)無(wú)守護(hù)進(jìn)程的容器引擎,用于在Linux系統(tǒng)上開(kāi)發(fā),管理和運(yùn)行Open Container Initiative(OCI)容器和容器鏡像。Podman提供了一個(gè)與Docker兼容的命令行前端,它可以簡(jiǎn)單地作為Docker cli,簡(jiǎn)單地說(shuō)你可以直接添加別名:alias docker = podman來(lái)使用podman。

Podman控制下的容器可以由root用戶運(yùn)行,也可以由非特權(quán)用戶運(yùn)行。Podman管理整個(gè)容器的生態(tài)系統(tǒng),其包括pod,容器,容器鏡像,和使用libpod library的容器卷。Podman專注于幫助您維護(hù)和修改OCI容器鏡像的所有命令和功能,例如拉取和標(biāo)記。它允許您在生產(chǎn)環(huán)境中創(chuàng)建,運(yùn)行和維護(hù)從這些映像創(chuàng)建的容器。

官網(wǎng):https://podman.io/
安裝文檔:https://github.com/containers/libpod/blob/master/install.md
配置參考:https://github.com/containers/image/blob/master/docs/containers-registries.conf.5.md

Podman和Docker的主要區(qū)別是什么?

  • dockers在實(shí)現(xiàn)CRI的時(shí)候,它需要一個(gè)守護(hù)進(jìn)程,其次需要以root運(yùn)行,因此這也帶來(lái)了安全隱患。
  • podman不需要守護(hù)程序,也不需要root用戶運(yùn)行,從邏輯架構(gòu)上,比docker更加合理。
  • 在docker的運(yùn)行體系中,需要多個(gè)daemon才能調(diào)用到OCI的實(shí)現(xiàn)RunC。
  • 在容器管理的鏈路中,Docker Engine的實(shí)現(xiàn)就是dockerd
  • daemon,它在linux中需要以root運(yùn)行,dockerd調(diào)用containerd,containerd調(diào)用containerd-shim,然后才能調(diào)用runC。顧名思義shim起的作用也就是“墊片”,避免父進(jìn)程退出影響容器的運(yùn)訓(xùn)
  • podman直接調(diào)用OCI,runtime(runC),通過(guò)common作為容器進(jìn)程的管理工具,但不需要dockerd這種以root身份運(yùn)行的守護(hù)進(jìn)程。
  • 在podman體系中,有個(gè)稱之為common的守護(hù)進(jìn)程,其運(yùn)行路徑通常是/usr/libexec/podman/conmon,它是各個(gè)容器進(jìn)程的父進(jìn)程,每個(gè)容器各有一個(gè),common的父則通常是1號(hào)進(jìn)程。podman中的common其實(shí)相當(dāng)于docker體系中的containerd-shim。

podman安裝使用

使用centos官方y(tǒng)um源進(jìn)行安裝

$ yum install -y podman
$ podman version
Version: ? ? ? ? ? ?1.4.4
RemoteAPI Version: ?1
Go Version: ? ? ? ? go1.10.3
OS/Arch: ? ? ? ? ? ?linux/amd64

配置鏡像加速

這里使用阿里云鏡像加速器

cp /etc/containers/registries.conf{,.bak}

cat > /etc/containers/registries.conf << EOF
unqualified-search-registries = ["docker.io"]

[[registry]]
prefix = "docker.io"
location = "uyah70su.mirror.aliyuncs.com"
EOF

拉取鏡像

$ podman pull centos
Trying to pull docker.io/library/centos...Getting image source signatures
Copying blob 8ba884070f61 done
Copying config 9f38484d22 done
Writing manifest to image destination
Storing signatures
9f38484d220fa527b1fb19747638497179500a1bed8bf0498eb788229229e6e1

運(yùn)行容器

$ podman images
REPOSITORY ? ? ? ? ? ? ? ? TAG ? ? ?IMAGE ID ? ? ? CREATED ? ? ? ?SIZE
docker.io/library/centos ? latest ? 9f38484d220f ? 4 months ago ? 209 MB
$ podman run -itd --name test centos sleep 3600
1fc033bb22096008049709d70869d54e3fa9e4d72c6d098f4b5601fd6747a9b9
$ podman ps
CONTAINER ID ?IMAGE ? ? ? ? ? ? ? ? ? ? ? ? ? ?COMMAND ? ? CREATED ? ? ? ?STATUS ? ? ? ? ? ?PORTS ?NAMES
1fc033bb2209 ?docker.io/library/centos:latest ?sleep 3600 ?7 seconds ago ?Up 6 seconds ago ? ? ? ? test

配置為別名

$ echo "alias docker=podman" >> .bashrc
$ source .bashrc

$ docker ps -a
CONTAINER ID ?IMAGE ? ? ? ? ? ? ? ? ? ? ? ? ? ?COMMAND ? ? CREATED ? ? ? ?STATUS ? ? ? ? ? ?PORTS ?NAMES
1fc033bb2209 ?docker.io/library/centos:latest ?sleep 3600 ?7 minutes ago ?Up 7 minutes ago ? ? ? ? test

相關(guān)工具

Buildah

Buildah專注于構(gòu)建OCI鏡像。 Buildah的命令復(fù)制了Dockerfile中的所有命令。可以使用Dockerfiles構(gòu)建鏡像,并且不需要任何root權(quán)限。 Buildah的最終目標(biāo)是提供更低級(jí)別的coreutils界面來(lái)構(gòu)建圖像。Buildah也支持非Dockerfiles構(gòu)建鏡像,可以允許將其他腳本語(yǔ)言集成到構(gòu)建過(guò)程中。 Buildah遵循一個(gè)簡(jiǎn)單的fork-exec模型,不以守護(hù)進(jìn)程運(yùn)行,但它基于golang中的綜合API,可以存儲(chǔ)到其他工具中。雖然Podman也可以用戶構(gòu)建Docker鏡像,單構(gòu)建速度較慢。

Skopeo

Skopeo是一個(gè)工具,允許我們通過(guò)push,pull和復(fù)制鏡像來(lái)處理Docker和OC鏡像。

到此這篇關(guān)于podman容器工具的具體使用的文章就介紹到這了,更多相關(guān)podman使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論