久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

podman初試

 15所 2020-01-08

podman初試-和docker對(duì)比

1,,什么是docker,?

Docker 是一個(gè)開(kāi)源的應(yīng)用容器引擎,屬于 Linux 容器的一種封裝,,Docker 提供簡(jiǎn)單易用的容器使用接口,,讓開(kāi)發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,。容器是完全使用沙箱機(jī)制,,相互之間不會(huì)有任何接口。

2,,什么是Podman,?

Podman 是一個(gè)開(kāi)源的容器運(yùn)行時(shí)項(xiàng)目,可在大多數(shù) Linux 平臺(tái)上使用,。Podman 提供與 Docker 非常相似的功能,。正如前面提到的那樣,,它不需要在你的系統(tǒng)上運(yùn)行任何守護(hù)進(jìn)程,并且它也可以在沒(méi)有 root 權(quán)限的情況下運(yùn)行,。
Podman 可以管理和運(yùn)行任何符合 OCI(Open Container Initiative)規(guī)范的容器和容器鏡像,。Podman 提供了一個(gè)與 Docker 兼容的命令行前端來(lái)管理 Docker 鏡像。

  1. Podman 官網(wǎng)地址:https:///
  2. Podman 項(xiàng)目地址:https://github.com/containers/libpod

3,,Podman 和docker不同之處,?

  1. docker 需要在我們的系統(tǒng)上運(yùn)行一個(gè)守護(hù)進(jìn)程(docker daemon),而podman 不需要
  2. 啟動(dòng)容器的方式不同:
    docker cli 命令通過(guò)API跟 Docker Engine(引擎)交互告訴它我想創(chuàng)建一個(gè)container,,然后docker Engine才會(huì)調(diào)用OCI container runtime(runc)來(lái)啟動(dòng)一個(gè)container,。這代表container的process(進(jìn)程)不會(huì)是Docker CLIchild process(子進(jìn)程),而是Docker Enginechild process,。
    Podman是直接給OCI containner runtime(runc)進(jìn)行交互來(lái)創(chuàng)建container的,,所以container process直接是podmanchild process
  3. 因?yàn)閐ocke有docker daemon,,所以docker啟動(dòng)的容器支持--restart策略,,但是podman不支持,如果在k8s中就不存在這個(gè)問(wèn)題,,我們可以設(shè)置pod的重啟策略,,在系統(tǒng)中我們可以采用編寫(xiě)systemd服務(wù)來(lái)完成自啟動(dòng)
  4. docker需要使用root用戶來(lái)創(chuàng)建容器,但是podman不需要

4,,podman的安裝

4.1,,Arch Linux & Manjaro Linux

sudo pacman -S podman

4.2,F(xiàn)edora,,Centos

sudo yum -y install podman

4.3,,Gentoo

sudo emerge app-emulation/libpod

4.4,MacOS

brew cask install podman

5,,Podman CLI介紹

Podman CLI 里面87%的指令都和DOcker CLI 相同,,官方給出了這么個(gè)例子alias docker=podman,所以說(shuō)經(jīng)常使用DOcker CLI的人使用podman上手非常快

運(yùn)行一個(gè)容器

podman run -dt -p 80:80 --name nginx -v /data:/data -e NGINX_VERSION=1.16 nginx:1.16.0

列出當(dāng)前所有的容器

# podman  ps -aCONTAINER ID  IMAGE                                       COMMAND               CREATED            STATUS             PORTS               NAMES19f105d5dc1e  docker.io/library/nginx:1.16.0              nginx -g daemon o...  2 minutes ago      Up 2 minutes ago   0.0.0.0:80->80/tcp  nginx

查看一個(gè)鏡像信息

# podman inspect nginx | grep -i 'ipaddress' 'SecondaryIPAddresses': null, 'IPAddress': '10.88.0.110',

查看容器運(yùn)行的日志

podman logs   nginx

查看運(yùn)行中容器資源使用情況

# 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 支持將容器從一臺(tái)機(jī)器遷移到另一臺(tái)機(jī)器,。
首先,,在源機(jī)器上對(duì)容器設(shè)置檢查點(diǎn),并將容器打包到指定位置,。

$ sudo podman container checkpoint <container_id> -e /tmp/checkpoint.tar.gz$ scp /tmp/checkpoint.tar.gz <destination_system>:/tmp

其次,,在目標(biāo)機(jī)器上使用源機(jī)器上傳輸過(guò)來(lái)的打包文件對(duì)容器進(jìn)行恢復(fù)。

$ sudo podman container restore -i /tmp/checkpoint.tar.gz

podman的程序如何設(shè)置自啟動(dòng)

由于 Podman 不再使用守護(hù)進(jìn)程管理服務(wù),,所以不能通過(guò)守護(hù)進(jìn)程去實(shí)現(xiàn)自動(dòng)重啟容器的功能,。那如果要實(shí)現(xiàn)開(kāi)機(jī)自動(dòng)重啟容器,又該如何實(shí)現(xiàn)呢,?
其實(shí)方法很簡(jiǎn)單,,現(xiàn)在大多數(shù)系統(tǒng)都已經(jīng)采用 Systemd 作為守護(hù)進(jìn)程管理工具,。這里我們就可以使用 Systemd 來(lái)實(shí)現(xiàn) Podman 開(kāi)機(jī)重啟容器,這里我們以剛才啟動(dòng)的nginx為例,。
建立一個(gè) Systemd 服務(wù)配置文件,。

$ vim /etc/systemd/system/nginx_podman.service[Unit]Description=Podman Nginx ServiceAfter=network.targetAfter=network-online.target[Service]Type=simpleExecStart=/usr/bin/podman start -a nginxExecStop=/usr/bin/podman stop -t 10 nginxRestart=always[Install]WantedBy=multi-user.target

接下來(lái),啟用這個(gè) Systemd 服務(wù)

$ sudo systemctl daemon-reload$ sudo systemctl enable nginx_podman.service$ sudo systemctl start nginx_podman.service

之后每次系統(tǒng)重啟后 Systemd 都會(huì)自動(dòng)啟動(dòng)這個(gè)服務(wù)所對(duì)應(yīng)的容器,,容器死亡之后也會(huì)啟動(dòng)這個(gè)容器,,我們可以用下面的例子做測(cè)試
打一個(gè)sleep 30的docker包,這個(gè)容器運(yùn)行起來(lái)一次只能堅(jiān)持30s

$ vim DockerfileFROM busybox:latestCMD ['sh','-c','sleep 30']

然后按照上述方式設(shè)置啟動(dòng)自啟動(dòng)

演示下Podman 下啟動(dòng)的容器為Podman的子進(jìn)程

我們剛才啟動(dòng)了一個(gè)nginx的podman 現(xiàn)在我們來(lái)看一下他的進(jì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

然后查看這個(gè)nginx的父進(jìn)程是那個(gè)

# ps -ef | grep 19359root     19359     1  0 11:38 ?        00:00:00 /usr/libexec/podman/conmon ,。,。。,。

所以驗(yàn)證了我上面的說(shuō)法

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多