podman初試-和docker對比1,什么是docker?Docker 是一個開源的應(yīng)用容器引擎,屬于 Linux 容器的一種封裝,Docker 提供簡單易用的容器使用接口,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的 Linux 機器上。容器是完全使用沙箱機制,相互之間不會有任何接口。 2,什么是Podman?Podman 是一個開源的容器運行時項目,可在大多數(shù) Linux 平臺上使用。Podman 提供與 Docker 非常相似的功能。正如前面提到的那樣,它不需要在你的系統(tǒng)上運行任何守護進程,并且它也可以在沒有 root 權(quán)限的情況下運行。
3,Podman 和docker不同之處?
4,podman的安裝4.1,Arch Linux & Manjaro Linuxsudo pacman -S podman 4.2,F(xiàn)edora,Centos
4.3,Gentoosudo emerge app-emulation/libpod 4.4,MacOS
5,Podman CLI介紹Podman CLI 里面87%的指令都和DOcker CLI 相同,官方給出了這么個例子 運行一個容器podman run -dt -p 80:80 --name nginx -v /data:/data -e NGINX_VERSION=1.16 nginx:1.16.0 列出當前所有的容器
查看一個鏡像信息# podman inspect nginx | grep -i 'ipaddress' 'SecondaryIPAddresses': null, 'IPAddress': '10.88.0.110', 查看容器運行的日志
查看運行中容器資源使用情況# podman top nginxUSER PID PPID %CPU ELAPSED TTY TIME COMMANDroot 1 0 0.000 5m26.420969043s pts/0 0s nginx: master process nginx -g daemon off;nginx 6 1 0.000 5m26.421085502s pts/0 0s nginx: worker process# podman stats nginxID NAME CPU % MEM USAGE / LIMIT MEM % NET IO BLOCK IO PIDS19f105d5dc1e nginx -- 2.036MB / 1.893GB 0.11% 978B / 10.55kB -- / -- 2 遷移容器Podman 支持將容器從一臺機器遷移到另一臺機器。
其次,在目標機器上使用源機器上傳輸過來的打包文件對容器進行恢復(fù)。 $ sudo podman container restore -i /tmp/checkpoint.tar.gz podman的程序如何設(shè)置自啟動由于 Podman 不再使用守護進程管理服務(wù),所以不能通過守護進程去實現(xiàn)自動重啟容器的功能。那如果要實現(xiàn)開機自動重啟容器,又該如何實現(xiàn)呢?
接下來,啟用這個 Systemd 服務(wù) $ sudo systemctl daemon-reload$ sudo systemctl enable nginx_podman.service$ sudo systemctl start nginx_podman.service 之后每次系統(tǒng)重啟后 Systemd 都會自動啟動這個服務(wù)所對應(yīng)的容器,容器死亡之后也會啟動這個容器,我們可以用下面的例子做測試
然后按照上述方式設(shè)置啟動自啟動 演示下Podman 下啟動的容器為Podman的子進程我們剛才啟動了一個nginx的podman 現(xiàn)在我們來看一下他的進程 # ps -ef | grep [n]ginxroot 19368 19359 0 11:38 pts/0 00:00:00 nginx: master process nginx -g daemon off;101 19381 19368 0 11:38 pts/0 00:00:00 nginx: worker process 然后查看這個nginx的父進程是那個
所以驗證了我上面的說法 |
|